{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 机器学习练习 - 回归"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "代码更新地址：https://github.com/fengdu78/WZU-machine-learning-course\n",
    "\n",
    "代码修改并注释：黄海广，haiguang2000@wzu.edu.cn\n",
    "\n",
    "备注：最后更新 2023-07-23，去掉了np.matrix这个方法（新版本numpy不支持此方法）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 单变量线性回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>人口</th>\n",
       "      <th>收益</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6.1101</td>\n",
       "      <td>17.5920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.5277</td>\n",
       "      <td>9.1302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8.5186</td>\n",
       "      <td>13.6620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7.0032</td>\n",
       "      <td>11.8540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.8598</td>\n",
       "      <td>6.8233</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       人口       收益\n",
       "0  6.1101  17.5920\n",
       "1  5.5277   9.1302\n",
       "2  8.5186  13.6620\n",
       "3  7.0032  11.8540\n",
       "4  5.8598   6.8233"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "path = 'data/regress_data1.csv'\n",
    "data = pd.read_csv(path)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>人口</th>\n",
       "      <th>收益</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>97.000000</td>\n",
       "      <td>97.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>8.159800</td>\n",
       "      <td>5.839135</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.869884</td>\n",
       "      <td>5.510262</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>5.026900</td>\n",
       "      <td>-2.680700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>5.707700</td>\n",
       "      <td>1.986900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>6.589400</td>\n",
       "      <td>4.562300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>8.578100</td>\n",
       "      <td>7.046700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>22.203000</td>\n",
       "      <td>24.147000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              人口         收益\n",
       "count  97.000000  97.000000\n",
       "mean    8.159800   5.839135\n",
       "std     3.869884   5.510262\n",
       "min     5.026900  -2.680700\n",
       "25%     5.707700   1.986900\n",
       "50%     6.589400   4.562300\n",
       "75%     8.578100   7.046700\n",
       "max    22.203000  24.147000"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "看下数据长什么样子"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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k3ofhzzxxBOxZcuWqKuriw9/+MPj/hwHDx6MsrKymDt3bpSVlcWsWbPi8ssvj3/37/5drFy5MiusR0R85zvficHBwWhtbR0O64ODg3H8+PEYGBiIgYGBqKmpmeiXChFhtfHR1Nf6dwAAgOk04cDe29sbGzZsGFcAvvPOOyPi9R74pqaRF5saHByMgYGBOPPMM+PJJ5+MiIimpqbYu3fviM//2te+Nurnu/322+P2228f8dgrr7wSZ5xxxmlrhtEIqAAAwEyacGAfmqdeWTl2cDl8+HDcfffdkclkorKyMg4dOjR87LXXXov9+/fH3LlzY/78+XHs2LGsFeQvvPDCWLhwYcydOzfKy8ujrKwsysrKxl1jkiQxODg4fDPglVdeiVmz7GAHAABA4ZhwYJ89+/WXzJkzZ8zn/e3f/m309PTE9ddfH9/73veyjj300EPxtre9LT74wQ8O98KfaGihupMdO3Ysjh49OuLNgiRJRh2aDwAAAIVmWrqd+/v748tf/nJkMpm44YYboqOjI+v4Cy+8EBEx4vZsozl8+HBce+218c53vjN6enqyjnV2dsaSJUvi85//fPyf//N/pv4FAAAAQJ5NS2D/8pe/HPv27YtLLrkk3vOe90Rra2vW8aHAvmTJknG93969e+Ptb397/PjHP47NmzfHxz72sazj/+E//Id49tln49Zbb43FixfHhz/84di2bVsuvhQAAADIi5wH9t27d8df//Vfx7x58+L73/9+nHnmmbFly5Y4fvz48HOeeOKJiIhx7Zf+3//7f49LL700tm7dGuecc06sW7cu7rnnnqzn/M3f/E384z/+Y7z3ve+NY8eOxXe+851oamqKq666Ku69994YHBzM7RcJAAAA0yzngf348eNx2WWXxWc+85lYunRpvPOd74z9+/fHL3/5y+HnPPbYY5HJZOKSSy4Z9X327NkT1113XVx//fVx6NChuPHGG+Opp56KD33oQ6csQJfJZOKaa66J++67L5566qm44YYboqysLDZs2BC/93u/FytXrsz1lwkAAADTKueBvaGhITZs2BCf+cxnIiLi3e9+d0RE3H///RHx+h7rjz/+eFx88cVRXV19yuv3798fra2t8aY3vSnuu+++OPfcc+N//s//Gd/5zndiwYIFp/38F154YXz3u9+N7du3x8qVK2P27Nnxla98JYdfIQAAAEy/Ca8SPx6ZTGZ4xfb3vOc9MXv27Pi7v/u7+MIXvhA//OEPY3BwMK699toRX1tdXR0vvfRSvPrqq7F48eK46qqrYsOGDbFhw4YJ1/GRj3wkvva1r8UFF1wwpa8HAAAAZtqEA/uzzz4bERH79u2L733ve7F9+/Z4/PHHR33+woUL49prr437778/HnzwweFt3D70oQ+NXNDs2XHXXXfFH//xH8fGjRvjc5/73ERLHHbGGWfEddddN+nXAwAAQL5MaEj8sWPH4gtf+EJERPz93/99fOADH4i1a9cOh/jRfPSjH42IiE996lPxj//4j3H55ZfHr/3ar436/Pnz58dVV10V8+bNi4jXF55LkiSSJIm3v/3tUVNTM/w4SZKorKyMa6+9dvjxj3/844h4PbADAABAIZpQYC8vL493vvOdUVFRER/4wAeivb09urq6YvPmzWO+7l3velecf/758fTTT0dExGc/+9lxfb7Zs6c2Yv/kxekAAACgUEw4Ef/1X/91/OVf/mUsXLhwuO3VV18d8zXHjh2Lc845J55//vmYN29eLFu2bFyfa2ge/GRN9fUAAACQLxNeJb6ysjIrrJ9Of39/vO9974tHH300ysvL45VXXol3vOMdsW/fvol+agAAACgZOd/W7UTPPPNMvOUtb4kf/ehHcf7558djjz0W73//+2P79u1xySWXxA9+8IPp/PQAAABQsHIS2F977bWIiBgcHIyIiKNHj8aXvvSluPjii+Pxxx+P5cuXxy9+8Yt405veFO3t7XHzzTfHyy+/HNdee21ceeWVcc8990RPT08uSgEAAICikEmSJJnqmxw8eDAWLlwYV155ZXzwgx+Mv/qrv4oXX3wxMplMfOpTn4q1a9fGnDlzsl6zbt26uOWWW6KrqysiIn77t3877r///njjG98YFRUVUV5eHj09PbFv374477zz4swzz4yI17eVO3r0aDQ0NAy/19NPPx0VFRVx/vnnR8Trw/Cfe+65qK2tjbPOOiuOHTsWR44ciUcffTTe+MY3Dr+ut7c3qquro6enJ6qqqqb6zwAAAABjmkgOzUlgf+GFF+L888+PSy+9NO6999647rrr4pVXXolvfvOb0dzcPOrrDh06FG1tbfG//tf/ig0bNsScOXNi3rx5MW/evCgvL4+ysrKYNWtqgwAGBgbi6NGjMTAwEB0dHbFkyZLh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OwAAAKSQwA4AAAApJLADAABACgnsAAAAkEICe561trZGJpMZ/mhoaDjtazZs2BBvetObora2Nr761a/OQJXkwt133511roc+7r777jFfd/HFF2c9/+abb56Zgpmw7u7uqK+vjz179gy3bd++PZYtWxYLFiyINWvWxHjX+fwf/+N/xOLFi+O8886L9vb2aaqYyRrpXN9///2xdOnSmD17dlx66aXx1FNPjeu93vOe92T9jL/jHe+YpqqZjJHO9WSu3RGu32l38rme7HU7wrU7zUb7Xe16XXxGO9cFd71OyKu3vOUtyQMPPJAcPHgwOXjwYNLb2zvm8/ft25dUVVUlt956a/L0008nv/mbv5n89Kc/naFqmYqBgYHh83zw4MHkueeeS2pra5OOjo5RX3PkyJGkoqIi2bdv3/Dr+vv7Z7Bqxqurqyu5/PLLk4hIOjs7kyRJkldffTVZsmRJ8kd/9EdJR0dH8ru/+7vJf/7P//m07/XEE08kc+bMSb71rW8ljz/+eNLQ0JD86le/muavgPEa6Vx3dHQkCxYsSL73ve8lL7/8cvIv/+W/TK688spxvd8/+2f/LHniiSeGf8b7+vqmsXomYqRznSQTv3Yniet32o10ridz3U4S1+40G+13tet18RntXBfi9Vpgz6Njx44lVVVVyeHDh8f9mttvvz35tV/7teT48eNJkiTJfffdl3zwgx+crhKZRn/1V3+VfPSjHx3zOQ899FByxRVXzFBFTMVv/dZvJV//+tez/ti79957kwULFiRHjhxJkiRJtm3blqxYseK07/Vv/+2/TX77t397+PHXvva15M///M+npW4mbqRz/fd///fJ3/7t3w4/56c//Wkyb968077X888/n5x77rnTVSpTNNK5nsy1O0lcv9NupHN9svFct5PEtTvNRvtd7XpdfEY714V4vTYkPo+eeOKJOH78eFx66aUxb968eNe73hXPPvvsmK957LHH4uqrr45MJhMREcuXL49HH310Jsolh1599dX4+te/Hp/5zGfGfN6WLVvi+eefj7q6ujjrrLPiE5/4RAwMDMxQlUzEt771rWhtbc1qe+yxx+KKK66IioqKiHh9iOSOHTtO+16PPfZYXHPNNcOP/Zyny0jneuXKlfGxj31s+PHOnTujsbHxtO+1ZcuWGBwcjPPPPz8qKyvjAx/4QBw8eDDnNTM5I53ryVy7I1y/026kc32i8V63I1y702y039Wu18VntHNdiNdrgT2PduzYERdddFF897vfjccffzxmz56d9Q00kt7e3qivrx9+XFVVFS+++OJ0l0qO3XPPPXH55ZfHkiVLxnzezp07461vfWs89NBD8aMf/Sh+/OMfx+233z4zRTIhJ/5cDjn55zWTyURZWdlpf8H7OU+3kc71iY4ePRq33XZbfPzjHz/te/3qV7+KSy65JB544IF4+OGHo7OzMz796U/nqlSmaKRzPZlrd4Sf67Q73c/1eK/bEa7dheLE39Wu18VttOtywVyv89Kvz4j27t2bzJo1K+np6Rn1Oddff33y9a9/ffjxa6+9lsyePXsmyiOHli1bljzwwAMTft13vvOd5LLLLpuGisiVOGE45Z/+6Z8mn/zkJ7OOn3/++cnzzz8/5nssX748uf/++4cfd3R0JA0NDTmvlamJUYbO/tmf/VlyySWXJEePHp3we27YsCGpqanJQXXk0mjnOknGd+1OEtfvQjHauZ7sdTtJXLvT6sTf1a7XxW2063KhXK9nz8xtAcbj7LPPjuPHj8dLL70UVVVVIz5n4cKF0dXVNfz48OHDMWfOnJkqkRzo6OiIjo6OeOc73znh15599tnxwgsvTENVTIeFCxfG9u3bs9rG8zPr57xw/fSnP4077rgjHn744SgvL5/w688+++zYv39/DAwMxNy5c6ehQnJtPNfuCD/XhWwq1+0I1+40Ovl3tet18RrtulxI12tD4vNozZo1cc899ww/3rx5c8yaNSsWLVo06muWLVsWmzdvHn68devWeMMb3jCtdZJb/+2//bdYuXLluH45vOUtb4nnnntu+PHmzZtj8eLF01keOXTyz2tnZ2cMDAzEwoULJ/Q6P+eFobOzM1paWuKOO+6IN7/5zeN6zR/8wR/EQw89NPx48+bNcc455wjrKTaZa3eEn+tCNpHrdoRrd9qN9Lva9bo4jXZdLrjr9Yz04zOi7373u0l9fX3yk5/8JPnRj36UXHjhhcmHP/zhJEmSpKenZ8ThGV1dXckZZ5yR/PjHP06OHj2avOtd70r+zb/5NzNdOlPwtre9Lbnzzjuz2g4ePJi89tprpzx31apVye/8zu8kDz/8cHL33XcnlZWVyd133z1TpTIJcdJq0nV1dcNbw9x8883JypUrh5872nnftm1bUllZmTz++OPJ4cOHk0svvTT5yle+MiP1M34nnuv+/v7kzW9+c/LRj340OXz48PDH0Irgo/1O/8u//Mvkn//zf578/Oc/T+69997knHPOST7/+c/P5JfBOJx4rse6dieJ63ehixGGxI903U4S1+5CNNrv6qNHj7peF5nRznUhXq8F9jz7sz/7s6S6ujpZuHBh0traOryf3+LFi5N77713xNf8zd/8TVJeXp4sWLAgqa+vT15++eUZrJip6O/vT+bMmZM89dRTWe0RkWzduvWU5x88eDB53/vel8ybNy9ZvHhx8o1vfGOGKmWyTv5j7/77708qKiqSmpqapK6uLnnyySeznjvSeU+SJPnMZz6TzJkzJ6mqqkouu+wye/im0Inn+r777ksi4pSPoeOj/U4/evRo8pGPfCSprKxMzj333OTWW29Njh07NnNfBONy8s/1aNfuJHH9LnQnn+vRrttDz3XtLixj/a52vS4uo53rr33tawV3vc4kSZJMfz8+udbZ2Rm/+tWv4m1ve1vMnz8/3+UAY3j55Zfj0UcfjSuuuCJqamrG/bodO3bECy+8EG9/+9vNiYMi4foN6eV6TRoJ7AAAAJBCFp0DAACAFBLYAQAAIIUEdgAAAEghgR0AAABSSGAHAGLnzp3x4osvxrFjx/JdCgDwTwR2ACDe//73xxve8Ib4whe+kO9SAIB/IrADAFFZWRkREUuXLs1zJQDAEIEdAIiKioqIiKiurs5zJQDAkNn5LgAAyL/jx49HRMScOXMm9fqXX345rrrqqinX8eCDD0Z9ff2U3wcAioHADgAMB/ajR49O6vVlZWWxc+fOKdeRyWSm/B4AUCwMiQcAore3NyIiDh8+PKnXz507NyIiampqIkmSCX8sXrw4630AAIEdAIiI5557LiIiDh48OKnXl5WV5aSOXL0PABQDgR0ASlxfX99wUH/mmWcm9R65CtqzZvnTBACGuCoCQInbsmXL8P+vX78+j5UAACcS2AGgxP385z8f/v8nnngitm7dmsdqAIAhAjsAlLihXvWPfOQjERFx22235bMcAOCfCOwAUMJefPHF+PnPfx5z586Nr371q3HeeefFf/2v/zWefvrpfJcGACVPYAeAEvaf/tN/iuPHj8f1118f1dXV8a//9b+OwcHB+NM//dN8lwYAJU9gB4AStW/fvvjGN74RERGrV6+OiIg//uM/jqqqqrj//vvjJz/5ST7LA4CSJ7ADQIlas2ZN9PT0xHXXXRfLli2LiIizzjorPvOZz0RExE033TTpfdkBgKkT2AGgBH3/+9+PdevWRUVFRXz5y1/OOvbJT34yLrroonj++efjIx/5SBw/fjxPVQJAaRPYAaDEbNu2bXhF+K985StxwQUXZB2fM2dO3HPPPTFnzpy477774l/9q38ltANAHgjsAFBCHnvssfid3/md6O3tjQ9/+MPxiU98YsTn/eZv/mbccccdERHxd3/3d3H99ddHT0/PTJYKACVPYAeAEnHffffF2972tnj55Zfjd3/3d+Ob3/zmmM+/+eab4y/+4i8i4vUh9Jdeemls2rRpxOcmSRIREfv3749MJjPhj7179+b2iwWAIpBJhq6wAEBR6u7ujjVr1sTdd98dERG/93u/F+3t7TFnzpxxvf4//sf/GJ/85CeHh8W/733vi7/4i7+I3/iN3xh+Tl9fX5x55plRVlYWDQ0NE67xmWeeiddeey1eeumlOPfccyf8egAoRgI7ABSxH//4x/H7v//70dvbG5lMJj772c/GrbfeGplMZkLvs379+rjxxhvj+eefj4iIu+66Kz784Q8PHz948GAsXLgwampqoru7e8J1LlmyJPbu3Rt79+6NN77xjRN+PQAUo9n5LgAAmD7XXHNNvPvd746f//zn8e1vfzve+c53Tup9rr766njyySdj7dq1kSRJVliPiOjv789BtRGvvPJKTt4HAIqBHnYAKHLHjh2LV199Nc4888x8lwIATIDADgAAAClklXgAAABIIYEdAAAAUkhgBwAAgBQS2AEAACCFBHYAAABIIYEdAAAAUkhgBwAAgBQS2AEAACCF/n9oDHDlO+JQGgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制散点图\n",
    "data.plot(kind='scatter', x='人口', y='收益', figsize=(12,8))\n",
    "# 设置x轴标签\n",
    "plt.xlabel('人口', fontsize=18)\n",
    "# 设置y轴标签，并将标签旋转为水平方向\n",
    "plt.ylabel('收益', rotation=0, fontsize=18)\n",
    "# 显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在让我们使用梯度下降来实现线性回归，以最小化代价函数。 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先，我们将创建一个以参数$w$为特征函数的代价函数\n",
    "$$J\\left( w  \\right)=\\frac{1}{2m}\\sum\\limits_{i=1}^{m}{{{\\left( {{h}}\\left( {{x}^{(i)}} \\right)-{{y}^{(i)}} \\right)}^{2}}}$$\n",
    "其中：\\\\[{{h}}\\left( x \\right)={{w}^{T}}X={{w }_{0}}{{x}_{0}}+{{w }_{1}}{{x}_{1}}+{{w }_{2}}{{x}_{2}}+...+{{w }_{n}}{{x}_{n}}\\\\]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def computeCost(X, y, w):\n",
    "    \"\"\"\n",
    "    计算线性回归模型的代价函数。    \n",
    "    参数：\n",
    "    X -- 特征矩阵，形状为 (n_samples, n_features)\n",
    "    y -- 标签向量，形状为 (n_samples,1)\n",
    "    w -- 权重向量，形状为 (n_features,1)\n",
    "    \n",
    "    返回值：\n",
    "    代价函数的值\n",
    "    \"\"\"\n",
    "    inner = np.power(X @ w - y, 2)  # 计算预测值与实际值之差的平方和\n",
    "    return np.sum(inner) / (2 * len(X))  # 对平方和进行求和并除以样本数量的两倍，得到代价函数的值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "让我们在训练集中添加一列，以便我们可以使用向量化的解决方案来计算代价和梯度。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Ones</th>\n",
       "      <th>人口</th>\n",
       "      <th>收益</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>6.1101</td>\n",
       "      <td>17.59200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5.5277</td>\n",
       "      <td>9.13020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>8.5186</td>\n",
       "      <td>13.66200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>7.0032</td>\n",
       "      <td>11.85400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>5.8598</td>\n",
       "      <td>6.82330</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>1</td>\n",
       "      <td>5.8707</td>\n",
       "      <td>7.20290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>1</td>\n",
       "      <td>5.3054</td>\n",
       "      <td>1.98690</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>1</td>\n",
       "      <td>8.2934</td>\n",
       "      <td>0.14454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>1</td>\n",
       "      <td>13.3940</td>\n",
       "      <td>9.05510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>1</td>\n",
       "      <td>5.4369</td>\n",
       "      <td>0.61705</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>97 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    Ones       人口        收益\n",
       "0      1   6.1101  17.59200\n",
       "1      1   5.5277   9.13020\n",
       "2      1   8.5186  13.66200\n",
       "3      1   7.0032  11.85400\n",
       "4      1   5.8598   6.82330\n",
       "..   ...      ...       ...\n",
       "92     1   5.8707   7.20290\n",
       "93     1   5.3054   1.98690\n",
       "94     1   8.2934   0.14454\n",
       "95     1  13.3940   9.05510\n",
       "96     1   5.4369   0.61705\n",
       "\n",
       "[97 rows x 3 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将一列名为'Ones'的值全为1的列插入到data的第一列位置。\n",
    "data.insert(0, 'Ones', 1)\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在我们来做一些变量初始化。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "cols = data.shape[1]  # 获取data的列数\n",
    "X = data.iloc[:,:cols-1]  # 获取除最后一列外的所有列作为特征矩阵X\n",
    "y = data.iloc[:,cols-1:]  # 获取最后一列作为目标变量y"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "观察下 X (训练集) and y (目标变量)是否正确."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Ones</th>\n",
       "      <th>人口</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>6.1101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5.5277</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>8.5186</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>7.0032</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>5.8598</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Ones      人口\n",
       "0     1  6.1101\n",
       "1     1  5.5277\n",
       "2     1  8.5186\n",
       "3     1  7.0032\n",
       "4     1  5.8598"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head()#head()是观察前5行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>收益</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>17.5920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>9.1302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13.6620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>11.8540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6.8233</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        收益\n",
       "0  17.5920\n",
       "1   9.1302\n",
       "2  13.6620\n",
       "3  11.8540\n",
       "4   6.8233"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "代价函数是应该是numpy矩阵，所以我们需要转换X和Y，然后才能使用它们。 我们还需要初始化w。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = X.values\n",
    "y = y.values\n",
    "w = np.zeros((X.shape[1], 1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "w 现在是一个形状为 (2, 1) 的二维数组。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.],\n",
       "       [0.]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "w"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "看下维度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((97, 2), (2, 1), (97, 1))"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape, w.shape, y.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "计算代价函数 (theta初始值为0)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "32.072733877455676"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "computeCost(X, y, w)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Batch Gradient Decent（批量梯度下降）\n",
    "\n",
    "$${{w }_{j}}:={{w }_{j}}- \\alpha \\frac{1}{m}\\sum\\limits_{i=1}^m \\frac{\\partial }{\\partial {{w}_{j}}}J\\left( w \\right)$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def batch_gradientDescent(X, y, w, alpha, count):\n",
    "    \"\"\"\n",
    "    批量梯度下降算法实现。\n",
    "    \n",
    "    参数：\n",
    "    X -- 特征矩阵，形状为 (n_samples, n_features)\n",
    "    y -- 标签向量，形状为 (n_samples,1)\n",
    "    w -- 权重向量，形状为 (n_features,1)\n",
    "    alpha -- 学习率\n",
    "    count -- 迭代次数\n",
    "    \n",
    "    返回值：\n",
    "    w -- 更新后的权重向量\n",
    "    costs -- 每次迭代的代价函数值列表\n",
    "    \"\"\"\n",
    "    # 初始化代价函数值列表\n",
    "    costs = []\n",
    "\n",
    "    # 对每个样本进行迭代\n",
    "    for i in range(count):\n",
    "        # 根据公式更新权重向量\n",
    "        w = w - (X.T @ (X @ w - y)) * alpha / len(X)\n",
    "\n",
    "        # 计算当前代价函数值并添加到列表中\n",
    "        cost = computeCost(X, y, w)\n",
    "        costs.append(cost)\n",
    "\n",
    "        # 每隔100次迭代输出一次当前代价函数值\n",
    "        if i % 100 == 0:\n",
    "            print(\"在第{}次迭代中，cost的值是：{}。\".format(i, cost))\n",
    "\n",
    "    # 返回最终的权重向量和代价函数值列表\n",
    "    return w, costs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "初始化一些附加变量 - 学习速率α和要执行的迭代次数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "alpha = 0.01\n",
    "iters = 2000"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在让我们运行梯度下降算法来将我们的参数θ适合于训练集。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "在第0次迭代中，cost的值是：6.737190464870011。\n",
      "在第100次迭代中，cost的值是：5.476362817272741。\n",
      "在第200次迭代中，cost的值是：5.173634551165022。\n",
      "在第300次迭代中，cost的值是：4.962606493117519。\n",
      "在第400次迭代中，cost的值是：4.815501494116686。\n",
      "在第500次迭代中，cost的值是：4.712956453749759。\n",
      "在第600次迭代中，cost的值是：4.6414735988143185。\n",
      "在第700次迭代中，cost的值是：4.591643801766726。\n",
      "在第800次迭代中，cost的值是：4.5569080784097515。\n",
      "在第900次迭代中，cost的值是：4.532694243543437。\n",
      "在第1000次迭代中，cost的值是：4.515815084502823。\n",
      "在第1100次迭代中，cost的值是：4.504048835517841。\n",
      "在第1200次迭代中，cost的值是：4.49584673167822。\n",
      "在第1300次迭代中，cost的值是：4.490129148489064。\n",
      "在第1400次迭代中，cost的值是：4.486143493324961。\n",
      "在第1500次迭代中，cost的值是：4.483365143354072。\n",
      "在第1600次迭代中，cost的值是：4.481428390613829。\n",
      "在第1700次迭代中，cost的值是：4.480078304693718。\n",
      "在第1800次迭代中，cost的值是：4.479137176818275。\n",
      "在第1900次迭代中，cost的值是：4.478481128440361。\n"
     ]
    }
   ],
   "source": [
    "w, cost = batch_gradientDescent(X, y, w, alpha, iters)#返回更新后的参数向量g和损失值数组cost。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-3.78806857],\n",
       "       [ 1.18221277]])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "w"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最后，我们可以使用我们拟合的参数计算训练模型的代价函数（误差）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.4780276098799705"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "computeCost(X, y, w)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在我们来绘制线性模型以及数据，直观地看出它的拟合。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+wAAALKCAYAAACoW9sXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClvElEQVR4nOzdeVxU1f/H8fcACog4hqWQmaKmSWZm5tai375ZlpqZfS2LdjPNpVUrsxA1M1usX4uVlWm2bxpfk/asTKOyVMSlFFwhVBRQVmfu74/7nYGRQbaBmYHX8/HgUffMnTtnBije95zzORbDMAwBAAAAAACfEuDtDgAAAAAAgLII7AAAAAAA+CACOwAAAAAAPojADgAAAACADyKwAwAAAADggwjsAAAAAAD4IAI7AAAAAAA+iMAOAAAAAIAPIrADAFBJdrtdaWlp2rlzZ4XnFhQUKDExUatWrXL7+KOPPqpVq1bJMIwa9WnLli36/PPPy328qKhI8+bNU1paWo1ep65t2bJFe/fuVXFxsbe7UimrV6/W5MmTtXDhwlq5/uHDh5WWlqZ9+/aVe86SJUu0aNEi53F6erqWLl2qP/74o1b6BACofQR2AEC9N2/ePF1zzTU6ePBgja6Tl5en6Ohode/evcJzs7KydNlll+m+++4r89jGjRs1c+ZMnX/++VqyZEm1+/PTTz8pJiZGo0aNUkZGhttzEhISdO+99+r000/Xli1bqv1a2dnZWrlypR566CGdeeaZys7Orva1KmPEiBFq3bq1Zs2aVauv4yl79+7VU089peXLl9fK9ZcuXaro6Gjde++95Z4zc+ZMxcXFOY9TUlI0fPhwLViwoFb6BACofUHe7gAAoGHbtWuXPvzwQzVu3FjBwcFq1KhRmXNiY2P14IMPKicnR8HBwQoMDHR7LcMwVFBQoIKCAj344IPq0qWLCgoKNH/+fP3111/6+eef9dFHH6l379568sknjxuuzjvvPD322GMubWFhYZKkJk2aVPi+QkNDXf5Z2pdffilJio6O1qhRoyq8VnnOP/98XXTRRfr66681ffp0vfzyy2XOcYz43nHHHercuXOF11y3bp1++eUX7du3Tzt37lRaWpq2bt1aZoR+8eLFmjhxYrX7XhHHZ92+fftaew1Paty4sSSpY8eOLu1vv/22YmNjK3WN33//XT169HD7WEhIiKSSz0WStm/frgMHDig4OFgBAQHO2RrJycmSzBF2ybzRlJycrOLiYuXl5emMM85Q8+bNK//mAABeQ2AHAHjVtm3b3I5Cl3b11VcrISFBu3btUnBwsBo3bqyCggLl5OSoSZMmCg8Pl2ROWXcE9ltvvVVdunRRSEiIfvvtN9155516++231b9/f/3www/auXOnVq5cqS5dujjDlmROId+0aZNOPvnkMv2wWCwKDAxUUFDF//t0BCx3Nxfee+89SdLkyZMrda3jmTVrlr7++mu98cYbeuihh9S2bVvnYxkZGUpMTFTjxo01ZcqUSl1v69atuuOOO5zHFotFhmGoVatWio2N1WmnnaZ27dqpQ4cONep3RRw3RaxWa62+jqc4vs/H3sxx/BxERkaW+17S09OVk5Pj9ubOsdcp/fPy6quv6oknnihz7plnnulyvGjRIpep8t99950GDBhwnHcDAPAVBHYAgFede+65Sk5OVuPGjZ2j7EePHtXVV1+tX375Rffdd5/CwsLKTOeeP3++7rzzTk2fPl2TJ08+7ms0a9ZMS5YsUZcuXbRhwwb16tVLH374oSTps88+cxkVTUtLU3R0tDMYDRs2TJ999pl+/fVX9ezZ0+31V65cqbi4OJ111ll67rnnJJlB150NGzYoKSlJJ510km6++eZKfUYOBw8eVGBgoHOWQUBAgHr37q27775bQ4YMcQnrkhnUbDabJk2apNatW0uSbDab7Ha7CgsLVVhYqBYtWrg85/LLL9f//d//qW3btoqOjlaHDh0UFham008/XU899VSZPsXHx+vdd98tt8/NmjVTUlJSld6nZN58keRyM6WqMjIyPBJMV6xYoejo6DLt+fn5stlsCgkJcX6/g4KCZBiGioqKZLPZnDNGZs6cqdGjR7u9/s0336xFixYd9+aNu8duvfVWXX755WrcuLGCgoJ0/fXXq7CwUB999JEkc6T9lltu0U033aQJEyaouLhYR44cUbdu3ar8GQAAvIPADgDwqrCwMJ1xxhmy2+3auXOnIiMjdffdd+uXX37R1KlTy0xLd9i1a5ck6Zxzzqn0az388MPOIFh65LuoqEiNGjVyCdkBAWaZl6ZNm7r8052cnBytXLmyTPh15/XXX5dkhr2zzz7b7Tk2m02FhYUKDw/Xxo0bne1nn322duzY4fY5zz77bLmvOW/ePM2bN8/tY/n5+c7RW8n8flRlqntOTs5x18ZHRkZW+lqlOb5PRUVF1Xq+ZH6Pa7Ju36G8my8vvvhimZtFDz/8sB5++GFJ0n333VelGwblLfUoT6dOndSpUyfncefOnVVYWOi8sWQYhsLCwtS2bdtybzYBAHwbgR0A4BPuvfdeLViwQDfffLNeeukljRw5skxYP3TokPPf169fL0k69dRTXdolM3S6WwsvlQTx0j7//HONGjVKV199tWbOnOnymGNk83ijn46pzKXXF7uTm5urN998UxaLRWFhYS79Pnr0qHM9ctOmTVVcXFymgnynTp0UERHhXOsfGBhYpZBnGIZsNpvzhkB+fr7bz6MqHGHf3TRri8Wi4ODgal03JydHkvmZVZfjtVu0aKH9+/dX+fnt2rXTjh07yn0PZ5xxhm6//XY1btxYu3fv1rJly9SvXz/16NFDxcXF6tmzp9vP94477lDHjh01btw4lxtBx567cOFCTZ8+XaGhoTpy5Igkc018YmKi8vLytGDBAp177rnOmggjR46UJJdCho66Bo62gQMHqlWrVlX+LAAA3kFgBwD4hAkTJmjFihV66aWXdOKJJ+q1114rc86JJ54om83m0nbaaaeVOe+9997TNddcI0nauXOnbrvtNr355pvOaeHHat68uQoKClRYWFjmsfJGV0tzhPmKpm+/8sorys7O1siRI/X++++7PPbTTz/pggsu0PXXX+8chT+WI5gdq7i4WEVFRW5vGBiGUan3UF0VrcGv7hp9xwyKmlT2r+qIdVWvc9lll+myyy6TJCUmJmrZsmUaOnSoHnzwQec5K1asKPO8N998U5J0zz33HPd1IyMjdc455ygsLExbt27V7t271apVK3Xv3l35+fmKiIjQjh07dMMNN1T6vaxZs4bADgB+hMAOAPAJHTt21Jo1a3TppZfq119/1RdffKGrr77a5Zzg4GCFhYVpxowZbq+xYsUKffbZZy5TvOPj4/X111+rZ8+eWrZsmXr16lXmeY4R8toscJaXl6cnn3xSFotFsbGx+vvvv13Wzu/Zs0dS1aeQ5+bmasSIETp8+LBWrFjh8h5SU1M1YMAA3XLLLRo3blyFQe3bb7/VDTfcoNDQ0DJBOykpSaeffrpLJf5nn322Vm4GHD582BnUt23bVu3reCqw12QWwrGfj81mU1FRkTp37lzhzYzSNwRuu+02JSUl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6doFtenAgQPOInxPP/20OnfurOuvv16fffaZ+vfvr4SEBPXv319ffPGFnn76aYWGhmrSpEmaO3duhf0PDAwst36DJF177bXq1auXQkNDFRQUJIvFom+//VYLFy5UQECA7Ha7zj//fN1xxx0yDEOFhYXKyclxe5MLAOCbCOwAAL/x999/SzL35v744491wgkn6KKLLtKcOXM0cOBAjRgxwqUSvMN9992nwsJCPfjggy6heseOHVq8eLGCg4M1ceJEzZw5U1988YWuvPJK/fTTTwoODq7UmumwsLAyxcaOJy8vT1dddZV+//13NWrUSPn5+br44ov1zTffqGXLlpW+jqdNmzZNBw4c0HXXXVfp0XPHGv8RI0Y4b6Y4PPfccxVW21+3bp0uu+wy5eTk6Oabb9a4cePcntejRw+9+OKLuv3227VkyRLl5+fr9ddfL7eqfl15+OGHlZubq2uuuUbnnHOOJPNm0lVXXaXvv/9eJ510kn744QddffXVstvtevrpp503g471zTff6N///nelX3vQoEEux0eOHNGsWbPUqFEjrVq1Stdee61WrVqlu+66S1dffXX13yQAwHsMAAB8SEREhHHGGWeU+/iBAweM008/3ZBkzJkzx9i5c6fRuHFjIyQkxHjjjTfKnL98+XJDkhEWFmYcOHDA5bHBgwcbkowHH3zQMAzDKCoqMi688EJDkjFx4kS3rx8YGGi0bdu2wveRn59vSDL+/e9/u7T//fffRrdu3QxJximnnGKkpKQYI0aMMCQZkZGRxvLlyyu89rx58wxJxocffuhs69+/v9GiRQuX88LCwozBgwc7j7/66itDkjFz5ky31y0uLjamTZtm5OXlubRLMvr37+/2OZMnTzYkGd99912ZxyQZbdq0Kfd9fPrpp0Z4eLghybj88suNoqKics91mDFjhiHJkGS0a9fO+Omnn8o9Ny8vz3luTb727dvn9vpffvmlERAQYISGhhqpqallXvvnn382Xn/9dSM4ONiQZNx3330un815553nPLbb7UbTpk2NM88808jNzS3zWitWrDAkGePHj3fbl/379xv9+/c3JBmPPvqoYRiGsWbNGiM4ONgIDg423n///XI/JwCA7/L+XDIAQIOXn58vwzC0Y8cOHTx4sMy6aYe///5bAwcO1ObNmzVo0CDdf//9atOmjZKSktS2bVvdeuut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AAAAykeCqgrDkPLyvPPaTZpIlRihttlsstvtevvttzV9+nQ5NgGwWCxq166dvv/+e/3666/q1q2bbrvtNtntdoWGhuq7777TsGHD9Omnn0qSGjVqJKvVetzXSktL03333adWrVo523bt2qXRo0dr7NixzraxY8ced897AAAAAEBZBPaqyMuTvFX1/PBhqRKzB/744w9dd911MgxDu3fv1tKlS7Vp0yatWLFCkjmFvXfv3tq/f78kKTAwUFFRUfrqq6+0YMECZ/V9m81WYbG4pUuXasiQITp06JCzLSAgQI8++qieeuopZ9u+ffvUp0+fqr5jAAAAAGjQ/GJKPCqvZ8+e2rp1qxISEtS5c2d98skniomJcW5zl5eXp2bNmrlswSZJ4eHhzqUHNptNmZmZOumkkySZ4d2du+66S6+88kqZ9hkzZujvv/92fo0aNcrD7xIAAAAA6j9G2KuiSRNzpNtbr10NrVq10rvvvqvc3FxJ5mj3ySef7Hy89PZt11xzjSZMmKD8/HylpKQ4zysoKJDdbi8T3C0Wi9uaATNnztQLL7zgPN67dy8j7AAAAABQRQT2qrBYKjUt3ZdYrVZZrVZ9//33kqSkpCSXqvEFBQWSpFWrVmnnzp36z3/+o8suu0wTJkxQnz591KdPH40aNUqLFi1SUVFRpV7zkUceKbOGHQAAAABQNUyJbyDOOusszZs3Ty+++KIuv/xyvf/++3rqqac0fPhwSVJcXJymTJmisLAw5eTk6L///a9atWql/v37a+/evRozZozefvvtSr3WzJkz1bVrV+fXBx98UJtvDQAAAADqJQJ7PZSTk6O9e/e6bKMWHh6uhQsXqqioSFdddZUWL16s22+/XTabTQsXLtRvv/2msWPH6ujRoxo/frxGjx6t2NhYjR49Wtdff71sNpsKCwv1zz//lNnezWazqaioSMXFxZLMEfbk5GTn18iRIyVJhYWFdfchAAAAAGgwbHZDq7cd0LI/92j1tgOy2Q1vd8kjmBJfDz355JNatGiRHnzwQUnSr7/+qttuu02dO3fWl19+qfDwcC1fvlxxcXHq37+//vvf/+q5555T06ZN9dFHH2nXrl366KOPJJnh+8iRI8rPz9fMmTP1f//3f1qwYIHL6xUVFWnLli1q06aNgoOD9f3332vOnDku53z++eeaMWOGtm/fXjcfAgAAAIAGITE5XfEJKUrPLnC2RVlDFDc0RoO6RnmxZzVnMRwbdTdAOTk5slqtys7OdlZRdygoKFBqaqqio6MVEhLipR56hs1m02+//abevXuXeWzXrl1q06aNS1tBQYHb93z48GE1atRIwcHBtdbXqqpP3ycAAAAAVZOYnK5xS9bq2FDrmBM8P7aHz4X24+XQYzElvgEIDAx0G9YllQnrksoNvk2bNvWpsA4AAACg4bLZDcUnpJQJ65KcbfEJKX49PZ7ADgAAAADwO0mpWS7T4I9lSErPLlBSalbddcrDCOwAAAAAAL+TmVt+WK/Oeb6IwA4AAAAA8DstwytXw6qy5/kiAjsAAAAAwO/0io5QlDVElnIet8isFt8rOqIuu+VRBHYAAAAAgN8JDLAobmiMJJUJ7Y7juKExCgwoL9L7PgJ7PXX06FGPXau2dv7LysrS4cOHa+XaAAAAAOq/QV2jND+2hyKtrtPeI60hPrmlW1UR2OuhVatWqV+/ftq3b5+zLS8vr8x5+fn52rFjh/P466+/VmJiYpnz+vfvr9WrV7t9rblz5yorK0szZszQ3XffrT179mjWrFmSpOHDh2vFihXl9vOee+7RkiVLJEmPPvqounbt6vbrwIEDlXvjAAAAABqcQV2j9NMDF+nd2/vouWu7693b++inBy7y+7AuEdjrpfPOO0+XXHKJBgwYoP3790uSrr32Wr377rsyDEOvvfaaJCk5OVk333yz83lPPPGENm/eLEkqLCyUYRhKTU3Vpk2bdPbZZ0syR+6LioqczwkICNDo0aMVFBSkxo0b67XXXpPdbpfNZtM333yj9u3bl9vP0NBQ557vmZmZmjZtmpKTk12+Dh8+rMaNG3v08wEAAABQvwQGWNS3QwsN695afTu08Otp8KUFebsDDYHNbigpNUuZuQVqGW4WPajtH6BZs2apsLBQf/31l0488URnOLZYLBo7dqxGjx6tRo0aKTAwUJK0ceNGHTx4UBMnTlRmZqbOOeccWSwWHTp0SEFBQTr99NPN92Kz6corr9Tzzz+vrKwsnXrqqTp69Ki2bNmiw4cPKyoqSl26dNH3338vq9Wqzp07O59ns9nUuHFjrVq1Stu3b9fff/8ti8WigIAA2Wy2ct+LxVI/ftkAAAAAoCoI7LUsMTld8QkpSs8u2fsvyhqiuKExtTJFIzc3VwcPHlTjxo316KOPKjw8XJIUHBzsDL5BQWW/7bNmzdKzzz6rvLw8xcTE6LvvvlPXrl115pln6r333lPXrl3LPCc7O1uff/65du/erW+++Ubdu3dXRESEfvnlF61bt065ublq166djhw5ovz8fE2ZMkWPPvqotm3bpjVr1uiff/5RQIA5ycNut2vy5MmaNWuWDhw4oIyMDJ1xxhmy2+0qLi72+OcEAAAAAL6OKfG1KDE5XeOWrHUJ65KUkV2gcUvWKjE53eOvuXLlSg0cOFDdunXTI4884mw/XhG6jz/+WH/88YfWrVunm266SYMHD9bYsWPVoUMHpaWlKTY2Vh06dCjzvOjoaN1///3as2ePLr/8cnXt2lVpaWl6/vnn9fXXX+upp55SWlqaZsyYoZtvvlmPPvqoJOnGG2/USy+9pPPOO08jR45Uz549FRISoieffFLJyclasWKFzjvvPCUnJ2vnzp064YQTPP45AQAAAICvI7DXEpvdUHxCitzVV3e0xSekyGb3bAX2IUOGaMuWLbrzzjvVqFEjZ3t+fr7bkXVJslqtuuCCC5SWlqZvvvlGTzzxhFatWqV//etfmj9/vtasWeNcC1/a119/rSuuuEKvvfaa/vWvf6l169YaOHCgxo8fr9TUVG3btk2StHfvXp188skuzzUMQ/v27dN9992nDRs2KD8/XxMnTlS7du00ePBg/fbbb2rXrp3atm2rPn36ePATAgAAAAD/QGCvJUmpWWVG1kszJKVnFygpNavW+uBYny6ZRd0c0+OPdfHFF2vBggX6559/NHPmTEVGRmrz5s364osv9J///EdSyTry4uJi52j9gAEDlJSUpDZt2ujll1/Www8/rPvvv1/t27fXlClTtGrVKknS9u3b1alTJ+fr/fzzzzr//PP16aefavr06Xr22Wd1+PBhvf/++0pLS9MXX3yhPn36KC0tTWlpafruu+9q5fMBAAAAAF9GYK8lmbnlh/XqnFdTmzZtcjut3eGzzz7Tjh07NGHCBOXl5SkhIUGHDx/W6aefrs6dOysnJ0ft2rVTmzZt9Morr0iSPvzwQ3Xr1k0xMTE6ePCgzjzzTDVr1kyZmZmaPXu2duzYoX/++ce5zZzD8uXL1b59e910003O6e5ZWVlq2bJlmX5ZLBaFhoZ6+NMAAAAAAN9H0bla0jI8xKPnVddHH32k008/XWFhYTrllFPcnrNr1y5df/316tSpkzp16iSLxaKUlBRNmDBBR44cUdOmTRUZGant27drz549atOmjSRp1KhRuvrqq9W1a1ctX75cHTt2VPfu3XXDDTfIYrFo1KhRuu6669S8eXOXKfFTp05VWFiYxo4d62zbvHmz/vzzTw0YMEDt2rWTJPXs2VMpKSlKTk4+7vZwAAAAAFAfEdhrSa/oCEVZQ5SRXeB2HbtFUqTV3OKtNhiGoY8//lg//vij+vbtq+HDhzsfO7YAXZs2bTR37lzFxMTonHPOMftnsei+++7T/v37tXjxYknSV199pfHjx+uPP/5wTq9PSUnRSSedpOuuu06nnHKKDMNQr169JEljx47VE088oWeffdbl9cLCwlyOd+3apdatW6t58+YaMmSI3nzzTedj3bt3Zx92AAAAAA0SU+JrSWCARXFDYySZ4bw0x3Hc0Jha2489NTVVOTk5euyxx/Taa69p4sSJksz90AcMGCDJXI9us9lkGIYuuOACJScna+TIkerUqZOeffZZffPNN3rhhRdkGOYth0svvVS9evXS3Xff7Xyds846Sz/99JNiY2P1559/qn379ho6dKiysrI0duxYDRgwQHPnztXmzZvL9PHo0aNq0qSJli5dqiuuuKLc9+J4fQAAAABoSAjstWhQ1yjNj+2hSKvrtPdIa4jmx/aolX3YHSwWixYtWqSdO3dqwoQJOu200ySZhei+/vprSVJhYaGKioq0ePFi9e3bVxs2bNDUqVP1zjvv6IUXXtCXX36pTZs26ZFHHlFEhDkTYN68efrqq6+UmZmp/fv367nnnlPPnj21Zs0arVmzRh9//LFzW7n+/fvru+++04QJE9S7d2998MEHzv7NnTtXNptNF154oZYsWaJbbrlFhYWFWrZsmbp27er82rJliwoLC2vtcwIAAAAAX2UxGvDwZU5OjqxWq7Kzs9WsWTOXxwoKCpSamqro6GiFhNRsnbnNbigpNUuZuQVqGW5Og6+tkfXqOHLkiOx2u3Oau91u1+7du3Xqqadq9erVeuedd3T99dc7t1crKipS48aNdfToUc2dO1fDhw9Xly5dnNdbsGCB+vXrpzPOOMPZ9vnnn6tXr1468cQTy+3H0aNHZbPZFBwcXOm+e/L7BAAAAAC17Xg59FgE9joI7Kg9fJ8AAAAA+JOqBHamxAMAAAAA4IMI7BVowBMQ/ALfHwAAAAD1FYG9HI0aNZIk5eXlebknOB7H98fx/QIAAACA+oJ92MsRGBio5s2bKzMzU5LUpEkTWSy+UyiuoTMMQ3l5ecrMzFTz5s0VGBjo7S4BAAAAgEcR2I8jMjJSkpyhHb6nefPmzu8TAAAAANQnBPbjsFgsioqKUsuWLVVcXOzt7uAYjRo1YmQdAAAAQL1FYK+EwMBAgiEAAAAAoE5RdA4AAAAAAB/ECDsAAACAGrPZDSWlZikzt0Atw0PUKzpCgQEUbQZqgsAOAAAAoEYSk9MVn5Ci9OwCZ1uUNURxQ2M0qGuUF3sG+DemxAMAAACotsTkdI1bstYlrEtSRnaBxi1Zq8TkdC/1DPB/BHYAAAAA1WKzG4pPSJHh5jFHW3xCimx2d2cAqAiBHQAAAEC1JKVmlRlZL82QlJ5doKTUrLrrFFCPENgBAAAAVEtmbvlhvTrnAXBFYAcAAABQLS3DQzx6HgBXBHYAAAAA1dIrOkJR1hCVt3mbRWa1+F7REXXZLTRER45ITz4pjR7t7Z54FIEdAAAAQLUEBlgUNzRGksqEdsdx3NAY9mNH7XEE9ehoacoU6fXXpT/+8HavPIbADgAAAKDaBnWN0vzYHoq0uk57j7SGaH5sD/ZhR+04ckR66qmSoL5vn9Sxo7RokXTmmd7unccEebsDAAAAAPzboK5RGhgTqaTULGXmFqhluDkNnpF1eNyRI9L8+dLcuWZIl6QOHaRHHpGuv14Kql8Rt369GwAAAABeERhgUd8OLbzdDdRXeXklQT0z02xr394M6rGx9S6oO9TPdwUAAAAA8H95edLLL0tPPOEa1KdNM4N6o0be7V8tI7ADAAAAAHyLu6AeHW0G9RtuqPdB3YHADgAAAADwDXl50iuvmEH9n3/MtgYY1B0I7AAAAAAA73IX1Nu1M4P6jTc2uKDuQGAHAAAAAHhHfn5JUM/IMNsI6k4EdgAAAABA3crPl159VZozpySot21bEtQbN/Zu/3wEgR0AAAAAPMBmN9iLviLlBfWHH5ZuuomgfgwCOwAAAADUUGJyuuITUpSeXeBsi7KGKG5ojAZ1jfJiz3xEfr60YIEZ1NPTzbZTTzVH1Anq5QrwdgcAAAAAwJ8lJqdr3JK1LmFdkjKyCzRuyVolJqd7qWc+oKBAev55qUMH6a67zLB+6qnmuvW//pJuv52wfhwEdgAAAACoJpvdUHxCigw3jzna4hNSZLO7O6MeKx3UJ00yg3qbNube6n/9JY0ZQ1CvBKbEAwAAAEA1JaVmlRlZL82QlJ5doKTULPXt0KLuOuYtBQXSa69Jjz8u7d1rtrVpI02dKt1yixQc7N3++RkCOwAAAABUU2Zu+WG9Ouf5rYIC6fXXzaC+Z4/ZdsopZjE5gnq1EdgBAAAAoJpahod49Dy/U1hoBvXZs12D+tSp0q23EtRriMAOAAAAANXUKzpCUdYQZWQXuF3HbpEUaTW3eKtXHEH98cel3bvNttatzaB+220EdQ+h6BwAAAAAVFNggEVxQ2MkmeG8NMdx3NCY+rMfe2GhNH++1LGjNH68GdZbt5ZeeEHatk26807CugcR2AEAAACgBgZ1jdL82B6KtLpOe4+0hmh+bI/6sQ97YaFZ4f2008xQvnu3dPLJZlD/+28zvBPUPY4p8QAAAABQQ4O6RmlgTKSSUrOUmVugluHmNHi/H1kvKpLeeMNco75rl9l28snSQw9Jo0dLIfV0bb6PILADAAAAgAcEBljqz9ZtRUXSwoVmUN+502wjqNc5AjsAAAAAwFRUJL35pvTYYyVBPSrKDOq3305Qr2MEdgAAAABo6MoL6g8+aAb10FCvdq+hIrADAAAAQENVVCQtWmQG9R07zLbIyJIRdYK6VxHYAQAAAKChKS42g/qsWa5B/cEHpTFjCOo+gsAOAAAAAB5msxu+WTHeEdQfe0xKSzPbCOo+i8AOAAAAAB6UmJyu+IQUpWcXONuirCGKGxrjvT3Zi4ulxYvNEXVHUG/VqiSoN2ninX7huAK83QEAAAAAqC8Sk9M1bslal7AuSRnZBRq3ZK0Sk9PrtkPFxdLrr0udOpnbsaWlmUH9mWek7dulu+8mrPswAjsAAAAAeIDNbig+IUWGm8ccbfEJKbLZ3Z3hYcXF0htvSJ07lwT1li2lp582g/o99xDU/QBT4gEAAADAA5JSs8qMrJdmSErPLlBSapb6dmhRO50oLpaWLDGnvm/fbra1bCk98IA0diwh3c8Q2AEAAADAAzJzyw/r1TmvSo4eLQnq27aZbS1bSpMnS+PGSWFhnn9N1DoCOwAAAAB4QMvwEI+eVylHj0pvvy3NnFkS1E86SZoyhaBeDxDYAQAAAMADekVHKMoaoozsArfr2C2SIq3mFm81dvSo9M47ZlD/+2+zjaBe71B0DgAAAAA8IDDAorihMZLMcF6a4zhuaEzN9mM/elR66y0pJka66SYzrJ94ojR3rpSaKt1/P2G9HiGwAwAAAICHDOoapfmxPRRpdZ32HmkN0fzYHtXfh91mKwnqN94o/fWXGdTnzDGD+uTJBPV6iCnxAAAAAOBBg7pGaWBMpJJSs5SZW6CW4eY0+GqNrNts0rvvmlPft24120480Qzod94pNW3q2c7DpxDYAQAAAMDDAgMsNdu6zWaT3ntPmjGjJKi3aGEG9fHjCeoNBIEdAAAAAHyFI6jPnClt2WK2tWhhrk0fP14KD/du/1CnCOwAAAAA4G02m/T+++aIuiOoR0SYQX3CBIJ6A0VgBwAAAABvsdmkDz4wg/rmzWYbQR3/Q2AHAAAAgLpms0kffmgG9U2bzLaICOm++8yg3qyZd/sHn0BgBwAAAIC64i6on3CCGdQnTiSowwWBHQAAAABqm80mffSRGdRTUsw2gjoqQGAHAAAAgNpit5eMqDuCevPmJUHdavVq9+DbCOwAAAAA4Gl2uzmiHh/vGtTvvVeaNImgjkohsAMAAACAp9jt0scfm0F940azjaCOaiKwAwAAAEBNuQvqVmtJUG/e3Kvdg38K8HYHKmvZsmVq3769goKC1L17d236X0XF5ORknXvuuTrhhBM0efJkGYbh5Z4CAAAAaDAcU9/POksaOdIM61arNH26lJYmPfooYR3V5heBfdu2bbrllls0Z84c7dmzR506ddLo0aNVWFiooUOH6pxzztFvv/2mlJQUvfnmm97uLgAAAID6zjGi3r279J//SMnJrkE9Lo6gjhqzGH4wJP3f//5Xe/fu1ZgxYyRJ3333nQYPHqx33nlHt956q3bv3q0mTZpo3bp1Gj9+vH766adKXTcnJ0dWq1XZ2dlqxjYKAAAAACpit0uffmpOfd+wwWxr1ky65x7p7rsJ6ahQVXKoX6xhHzJkiMvxli1bdNppp2ndunXq06ePmjRpIknq1q2bUhwVGN0oLCxUYWGh8zgnJ6d2OgwAAACgfrHbpaVLzaC+fr3Z1qyZGdLvvtvcUx3wML+YEl9aUVGRnn76aY0dO1Y5OTmKjo52PmaxWBQYGKiDBw+6fe7jjz8uq9Xq/GrTpk1ddRsAAACAP3KMqPfoIY0YYYb18HDpkUek1FQzwBPWUUv8LrDHxcUpLCxMo0ePVlBQkIKDg10eDwkJUV5entvnPvTQQ8rOznZ+7dq1qy66DAAAAMDfGEZJUL/qKmndOjOoT5tmrlGfMUOKiPB2L1HP+cWUeIdvv/1WL774otasWaNGjRopIiJCycnJLufk5uaqcePGbp8fHBxcJuADAAAAgJNhSMuWmSPnf/5ptjVtKt11l7lFGyEddchvRthTU1M1atQovfjii4qJiZEknXvuuVq9erXLOYWFhYrglwgAAABAVTiC+jnnSMOHm2G9aVPp4YfNEfVZswjrqHN+Edjz8/M1ZMgQDRs2TMOHD9fhw4d1+PBhXXDBBcrJydHChQslSbNnz9bFF1+swMBAL/cYAAAAgF8wDOmzz8ygfuWV0h9/mEF96tSSoN6ihbd7iQbKL7Z1W7Zsma688soy7ampqVq/fr1GjRql0NBQBQQE6Pvvv3eOwFeEbd0AAACABsowpIQEc9/0P/4w25o2lSZONKe+n3iiV7uH+qsqOdQvAntFMjIy9Pvvv6tPnz5qUYW7XwR2AAAAoIExDOm//zWD+tq1ZltYmDRpEkEddaLe7cNekcjISA0ePNjb3QAAAADgq8oL6hMnSvfdR1CHT6oXgR0AAAAA3DIMaflyM6j//rvZFhYmTZgg3X8/QR0+jcAOAAAAoP4xDOnzz82g/ttvZpsjqN93n3TSSV7tHlAZBHYAAAAA9YdhSCtWmEH911/NtiZNpPHjpcmTCerwKwR2AAAAAP6PoI56iMAOAAAAwH8ZhpSYaAb1pCSzzRHU779fatnSq90DaoLADgAAAMD/GIb0xRdmUP/lF7MtNLRkRJ2gjnqAwA4AAADAf5QX1MeNk6ZMkVq18mr3AE8isAMAAADwfYYhffmlGdTXrDHbQkOlO+80R9QJ6qiHCOwAAAAAfJe7oB4SUhLUIyO92j2gNhHYAQAAAPgew5C++soM6qtXm20hISVT3wnqaAAI7AAAAAB8h2FIX39tBvWffzbbCOpooAjsAAAAALzPMKRvvjGD+qpVZltIiDR2rBnUo6K82j3AGwjsAAAAALzHMKRvv5Xi4kqCenCwGdQfeICgjgaNwA4AAACg7jmC+vTp0k8/mW2OoD5linTyyV7tHuALCOwAAAAA6o5hSN99Zwb1H38024KDpTvuMEfUCeqAE4EdAAAAQO0rL6iPGWMG9datvdo9wBcR2AEAAADULkdQ/+EH85igDlQKgR0AAABA7fj+ezOor1xpHjdubAb1Bx8kqAOVQGAHAAAA4Fnugvrtt5tB/ZRTvNkzwK8Q2AEAAAB4xsqVZlD//nvzuHFjafRo6aGHCOpANRDYAQAAANTMDz+YQf2778xjR1B/8EGpTRuvdg3wZwR2AAAAANVzbFBv1KhkRJ2gDtQYgR0AAABA1fz4oxnUv/3WPHYE9QcflE491atdA+oTAjsAAACAyvnpJzOof/ONedyokXTrrdLUqQR1oBYQ2AEAAAAcX3lB/aGHpLZtvdo1oD4jsAMAAABwb9UqM6h//bV5TFAH6hSBHQAAAICrn382g/pXX5nHQUElU98J6kCdIbADAAAAMLkL6rfcYgb1du282TOgQSKwAwAAAA3d6tVmUP/yS/OYoA74BAI7AAAA0FCtXi3Fx0tffGEeBwVJN99sBvXoaK92DQCBHQAAAGh41qwxR9QdQT0wsCSot2/vzZ7BB9jshpJSs5SZW6CW4SHqFR2hwACLt7vVIBHYAQAAgIbil1/MoJ6YaB4HBko33SQ9/DBBHZKkxOR0xSekKD27wNkWZQ1R3NAYDeoa5cWeNUwB3u4AAAAAgFr2yy/S5ZdLffqYYT0w0Kz6vnWr9PrrhHVIMsP6uCVrXcK6JGVkF2jckrVKTE73Us8aLgI7AAAAUF8lJZUE9RUrzKB+yy3Sli0Edbiw2Q3FJ6TIcPOYoy0+IUU2u7szUFsI7AAAAEB9k5QkDR4s9e5dEtRvvtkM6m+8IXXo4O0ewsckpWaVGVkvzZCUnl2gpNSsuusUWMMOAAAA1Bu//mpWfV++3DwODJRiY6Vp06SOHb3bN/i0zNzyw3p1zoNnENgBAAAAf/fbb2ZQ/+9/zeOAAOmGGwjqqLSW4SEePQ+eQWCHV7BVBAAAgAf8/rtZ9b10UHeMqJ92mle7Bv/SKzpCUdYQZWQXuF3HbpEUaTX/bkfdIbCjzrFVBAAAQA39/rs5op6QYB4T1FFDgQEWxQ2N0bgla2WRXEK7Y1gtbmgMg2x1jKJzqFNsFQEAAFADa9dKw4ZJPXuaYd0R1DdtkhYtIqyjRgZ1jdL82B6KtLpOe4+0hmh+bA8G17yAEXbUmYq2irDI3CpiYEwkd+4AAABKW7vWHFH/7DPzOCBAuu46c0S9c2fv9g31yqCuURoYE8nyVR9BYEedqcpWEX07tKi7jgEAAPiqP/4wg/qyZeYxQR11IDDAwt/jPoLAjjrDVhEAAACV9OefZjG50kF91CgzqJ9+ujd7BqAOEdhRZ9gqAgAAoAJ//mmOqC9dah5bLCUj6gR1oMGh6BzqjGOriPJWv1hkVotnqwgAANDg/PmndNVV0tlnm2HdEdQ3bpSWLCGsAw0UgR11xrFVhKQyoZ2tIgAAQIO0bl1JUP/0UzOojxplBvW335a6dPF2DwF4EYEddYqtIgAAACStXy+NGCF1714S1K+91gzq77xDUAcgiTXs8AK2igAAAA3W+vXSjBnSxx+bxxaLdM010iOPSDEx3u0bAJ9DYIdXsFUEAABoUDZsMIP6Rx+ZxxaL9J//SI8+Kp1xhnf75iE2u8GADOBhBHYAAACgtjSAoC5Jicnpik9IUXp2yfa8UdYQxQ2NYckjUAOsYQcAAAA8LTlZGjlS6tatJKyPHGlOiX///XoX1sctWesS1iUpI7tA45asVWJyupd6Bvg/AjsAAADgKRs3mmvSu3WTPvzQbPvPf8yR9vffl7p29W7/PMxmNxSfkCLDzWOOtviEFNns7s4AUBECOwAAAFBTjqB+5pnSBx9IhmFWgV+/3jyuZ0HdISk1q8zIemmGpPTsAiWlZtVdp4B6hDXsAAAAQHWlpJhr1B0hXZKuvtpco37mmd7tWx3IzC0/rFfnPACuCOwAAABAVaWkSDNnmtPcHUF9xAgzqHfr5t2+1aGW4SEePQ+AK6bEAwAAAJW1aZM0apQ5xf2998ywftVV0p9/msXlGlBYl6Re0RGKsoaovM3bLDKrxfeKjqjLbgH1BoEdAAAAqMimTdJ115nV3R1BffhwM6h//LF01lne7qFXBAZYFDc0RpLKhHbHcdzQGPZjB6qJwA4AAACUZ/Nm6frrzaD+7rslQf2PP6RPPmmwQb20QV2jND+2hyKtrtPeI60hmh/bg33YgRpgDTsAAABwrM2bzTXqjpAuSVdeaa5RP/tsr3bNFw3qGqWBMZFKSs1SZm6BWoab0+AZWQdqhsAOAAAAOGzZUhLU7XazjaBeKYEBFvXt0MLb3QDqFQI7AAAAsGWLNGuW9M47JUF92DApLo6gDsBrCOwAAABouLZuNUfUSwf1K64wg3qPHt7tG4AGj8AOAACAhmfrVnNE/e23S4L60KFmUD/nHO/2DQD+h8AOAACAhuOvv8ygvmQJQR2AzyOwAwAAoP77+++SoG6zmW1DhphBvWdP7/YNAMpBYAcAAED9tW2bGdTfeougDsDvENgBAABQ/2zbJj32mLR4cUlQHzzYDOrnnuvdvgFAJRHYAQAAUH9s326OqJcO6pddJk2fLvXq5dWuAUBVEdgBAADg/7ZvN0fUFy0iqAOoNwjsAAAA8F+pqSVB/ehRs23QIDOo9+7t1a4BQE0R2AEAAOB/UlOl2bOlN98sCeqXXmoG9T59vNkzAPAYAjsAAAD8R1qaOaJ+bFCPi5P69vVmzwDA4wjsAAAA8H1paeaI+sKFJUH9kkvMoN6vn1e7BgC1hcAOAAAA37VjhxnU33iDoA6gwSGwAwAAwPc4gvrChVJxsdk2cKAZ1M87z7t9A4A6QmAHAACA79i5s2REnaAOoIEjsAMAAMD7du6UHn9cev31kqB+8cVmUD//fO/2DQC8hMAOAAAA73EX1P/9bzOoX3CBd/sGAF5GYAcAAEDd27XLDOqvvVYS1C+6yNxHnaAOAJII7AAAAKhL5QX1uDjpwgu92zcA8DEEdgAAANS+3btLgnpRkdn2r3+ZQb1/f+/2DQB8FIEdAAD4LJvdUFJqljJzC9QyPES9oiMUGGDxdrdQFbt3S3PmSAsWlAT1AQPMoD5ggDd7BgA+j8AOAAB8UmJyuuITUpSeXeBsi7KGKG5ojAZ1jfJiz1Ape/aYI+qlg/qFF0rx8QR1AKikAG93AAAA4FiJyekat2StS1iXpIzsAo1bslaJyele6hkqtGePNHGi1L699OKLZli/8ELpu++klSsJ6wBQBQR2AADgU2x2Q/EJKTLcPOZoi09Ikc3u7gx4zd690qRJUocO0gsvmEH9ggukb7+Vvv+eoA4A1UBgBwAAPiUpNavMyHpphqT07AIlpWbVXadQvr17pbvuMkfUn39eKiyUzj9f+uYbc0T9X/+SLNQdAIDqYA07AADwKZm55Yf16pyHWrJ3r/TEE9Irr5ghXZLOO89co37RRYR0APAAAjsAAPApLcNDPHoePCw9vSSoF/zvpglBHQBqBYEdAAD4lF7REYqyhigju8DtOnaLpEirucUb6lB6ujR3rvTyyyVBvV8/afp06eKLCeoAUAtYww4AAHxKYIBFcUNjJJnhvDTHcdzQGPZjryvp6dI995hr1J991gzrfftKX34p/fSTNHAgYR0AagmBHQAA+JxBXaM0P7aHIq2u094jrSGaH9uDfdjrQkaGdO+97oP6qlUEdQCoA0yJBwAAPmlQ1ygNjIlUUmqWMnML1DLcnAbPyHoty8iQnnxSmj9fys832/r0MdeoE9IBoE751Qj7/v37FR0drbS0NGfbpEmTZLFYnF8dO3b0XgcBAIBHBQZY1LdDCw3r3lp9O7QgrNemf/6R7rvPHFF/5hkzrPfuLSUmSj//LF1yCWEdAOqY34yw79+/X0OGDHEJ65L022+/afny5erXr58kKTAw0Au9AwAA8FOZmWYxuZdeKhlR793bLCZ36aWEdADwIr8J7Ndee62uu+46/fLLL862o0ePauPGjbrwwgvVtGlTL/YOAADAz2RmmlPfX3yxJKj36mVOfSeoA4BP8Jsp8QsWLNCkSZNc2jZs2CC73a7u3bsrNDRUgwYN0s6dO8u9RmFhoXJycly+AAAAGpTMTGnyZCk6WnrqKTOs9+olLV8urVkjDRpEWAcAH+E3gT06OrpMW0pKijp37qy33npL69evV1BQkMaMGVPuNR5//HFZrVbnV5s2bWqzywAAAL4jM1OaMqUkqOflSeeeK33+uRnUL7+coA4APsZiGIbh7U5UhcViUWpqqtq1a1fmsZ07dyo6OloHDx5Us2bNyjxeWFiowsJC53FOTo7atGmj7Oxst+cDAAD4vX37Sqa+5+WZbeeea65Rv+wyQjoA1LGcnBxZrdZK5VC/WcNeGS1btpTdbld6errbNx4cHKzg4GAv9AwAAO+w2Q22RWuo9u0zR9JfeKEkqPfsaQZ1RtMBwC/4dWCfPHmyzj77bF133XWSpNWrVysgIICp7gAASEpMTld8QorSswucbVHWEMUNjdGgrlFe7Blq1b590tNPm0H9yBGz7ZxzzGJyBHUA8Ct+HdjPOussTZs2Ta1atZLNZtPEiRN14403qkmTJt7uGgAAXpWYnK5xS9bq2HVvGdkFGrdkrebH9iC01zf795eMqJcO6tOnS4MHE9QBwA/5dWCPjY3Vxo0bNWLECAUGBio2NlazZ8/2drcAAPAqm91QfEJKmbAuSYYki6T4hBQNjIlkenx9sH+/OaL+/PMlQb1HDzOoDxlCUAcAP+Z3Rec8qSqL/QEA8Bertx3QqAVrKjzv3dv7qG+HFnXQI9SKAwdKgvrhw2YbQR0AfF6DLToHAACkzNyCik+qwnnwMQcOSM88I/3f/5UE9bPPNoP60KEEdQCoRwjsAADUMy3DQzx6HnyEu6DevbsZ1K+4gqAOAPUQgR0AgHqmV3SEoqwhysgucLuO3SIp0mpu8QY/kJVVEtRzc802gjoANAgB3u4AAADwrMAAi+KGxkgyw3lpjuO4oTEUnPN1WVnSI49I7dpJjz1mhvWzzpI+/VRau1YaNoywDgD1HIEdAIB6aFDXKM2P7aFIq+u090hrCFu6+bqDB0uC+qxZZlDv1k365BMzqF95JUEdABoIpsQDAFBPDeoapYExkUpKzVJmboFahpvT4BlZ91EHD0rz5knPPSfl5Jht3bpJcXFmSA9gnAUAGhoCOwAA9VhggIWt23zdwYPSs8+aX46gfuaZ5hp1gjoANGgEdgAAAG84dMgcUT82qMfFScOHE9QBAAR2AACAOnXoUMmIena22da1qxnUr7qKoA4AcCKwAwAA1IVDh8z16fPmlQT1M84wp74T1AEAbhDYAQAAalN2dklQP3TIbDvjDHNEfcQIgjoAoFwEdgAAgNrgLqjHxJhB/eqrCeoAgAoR2AEAADwpO1v6v/+TnnmGoA4AqBECOwAAgCfk5JQE9YMHzbYuXUqCemCgd/sHAPA7BHYAAICaKC+oP/qo9J//ENQBANVGYAcAAKiOnBzp+eelp58uCeqnn26OqBPUAQAeQGAH4DE2u6Gk1Cxl5haoZXiIekVHKDDA4u1uAYBnlRfUH31UGjmSoA4A8BgCOwCPSExOV3xCitKzC5xtUdYQxQ2N0aCuUV7sGQB4SG5uSVDPyjLbCOoAgFpEmVIANZaYnK5xS9a6hHVJysgu0Lgla5WYnO6lngGAB+TmSo8/LrVrJz38sBnWO3eWliyRkpOlUaMI6wCAWsEIO4AasdkNxSekyHDzmCHJIik+IUUDYyKZHg9UEctMvCw3V3rhBempp0pG1Dt1MkfUr72WkA4AqHUEdgA1kpSaVWZkvTRDUnp2gZJSs9S3Q4u66xjg51hm4kWHD5cE9QMHzDaCOgDAC5gSD6BGMnPLD+vVOQ8Ay0y85vBh6YknzKnvDz1khvXTTpPeekvauFG6/nrCOgCgThHYAdRIy/AQj54HNHQVLTORzGUmNru7M1AtpYP6gw+WBPVFi6SUFCk2VgpiUiIAoO4R2AHUSK/oCEVZQ1TeqlqLzGm8vaIj6rJbgN+qyjIT1NDhw9LcuVJ0dElQ79ixJKjfeCNBHQDgVQR2ADUSGGBR3NAYSSoT2h3HcUNjKJQFVBLLTOrAkSPSk0+aQf2BB6T9+0uC+qZNBHUAgM8gsAOosUFdozQ/tocira7T3iOtIZof24MCWUAVsMykFh05YhaSi46Wpkwxg3qHDtKbbxLUAQA+if8rAfCIQV2jNDAmki2ogBpyLDPJyC5wu47dIvNmGMtMquDIEWn+fHP6+759Zlv79tIjj7A+HQDg0/g/FACPCQywsHUbUEOOZSbjlqyVRXIJ7SwzqaK8vJKgnplptjmC+vXXS40aebd/AABUgCnxAAD4GJaZ1FBenvTMM+bU9/vvN8N6dLT0xhvS5s3SzTcT1gEAfoERdgAAfBDLTKohL0965RVzi7Z//jHboqOladOkG24gpAMA/A6BHQAAH8Uyk0oiqAMA6ikCOwAA8E/5+SVBPSPDbGvXzgzqN95IUAcA+D0COwAA8C/ugnrbtiVBvXFj7/YPAAAPIbADAAD/kJ8vvfqqNGcOQR0A0CAQ2AEAgG8rL6g//LB0000EdQBAvUVgBwAAvik/X1qwwAzq6elm26mnmkH95psJ6gCAeo/ADgAAfEtBgRnUH3+coA4AaNAI7AAAwDc4gvqcOdLevWZbmzZmUL/lFoI6AKDBIbADAADvKiiQXnvNHFEvHdSnTjWDenCwd/sHAICXENgBAIB3FBRIr79uBvU9e8y2U04xg/qttxLUAQANHoEdAADUrcJCM6jPnk1QBwDgOAjsAACgbjiC+uOPS7t3m22tW5tB/bbbCOoAAByDwA4AAGpXYaH0xhvmiDpBHQCASiOwAwCA2lFYKC1caAb1XbvMtpNPLgnqISHe7R8AAD6OwA4AADyrqMgM6o895hrUH3pIGj2aoA4AQCUR2AEAgGcUFUlvvmkG9Z07zTaCOgAA1UZgBwAANVNUJC1aZAb1HTvMtqgoM6jffjtBHQCAaiKwAwCA6ikvqD/4oBnUQ0O92z8AAPwcgR1AvWWzG0pKzVJmboFahoeoV3SEAgMs3u4W4P+Ki0uCelqa2RYZaQb1MWMI6gAAeAiBHUC9lJicrviEFKVnFzjboqwhihsao0Fdo7zYM8CPFRdLixdLs2YR1AEAqAMB3u4AAHhaYnK6xi1Z6xLWJSkju0DjlqxVYnK6l3oG+KniYun116VOnczicWlpUqtW0rx50vbt0l13NaiwbrMbWr3tgJb9uUertx2QzW54u0sAgHqKEXYAtcJb09FtdkPxCSly9+ezIckiKT4hRQNjIpkeD1SkuFh66y1zRD011Wxr1Up64AHpjjukJk282z8vYPYOAKAuEdgBeJw3/6BNSs0qM7JemiEpPbtASalZ6tuhRa32BfBb7oJ6y5ZmUB87tkEGdalk9s6xNwQds3fmx/YgtAMAPIop8QCq7HjTQb09HT0zt/ywXp3zgAaluFhauFA6/XTpttvMsN6ypfT00+a/33tvgw3rFc3ekczZO0yPBwB4EiPsQCVQbbzE8UbPB8ZEen06esvwyu33XNnzgAbh6FFpyRJzRH3bNrONEXUXzN4BAHgDgR2oAOsVS1Q0HfTui0/z+h+0vaIjFGUNUUZ2gdsbBxZJkVbzpgvQ4B09Kr39tjRzZklQP+mkkqAeFubd/vkQZu8AALyBKfHAcXh7ercvqcx00IWr0ip1rdr8gzYwwKK4oTGSzHBemuM4bmhMg50hAUgyg/qiRebU95tvNsP6SSdJTz5pTn2/7z7C+jGYvQMA8AYCO1AO1iu6qsx00EP5xZW6Vm3/QTuoa5Tmx/ZQpNX1dSKtIRSFQsN29Ki5j3qXLu6D+v33E9TL4Zi9U96tPovM2VfM3gEAeBJT4oFysF7RVWVHxZuHNlJ2frHXp6MP6hqlgTGR1B4AJDOov/uuOfX9r7/MthNPlKZMke68k5BeCY7ZO+OWrJVFcvlvHLN3AAC1xSMj7AUFBUpMTNSqVavcPv7oo49q1apVMozqj0Ru2bJFn3/+ebmPFxUVad68eUpLS6v2awClsV7RVWVHxW85L1qSb0xHDwywqG+HFhrWvbX6dmjBH9JoeBzF5GJipBtvNMP6iSdKTzxhjqhPnkxYrwJm7wAA6prFqEmK/p+9e/eqdevW6t27t9asWePy2MaNG9W1a1dJ0uLFi3XDDTdU+fo//fST+vfvr6ZNm2rLli2KjIwsc87HH3+sq6++WsHBwVq3bp06d+5c4XVzcnJktVqVnZ2tZs2aVblfqN9WbzugUQvWVHjeu7f3aRAj7Da7ofOf+LbCYm4/PXCRvkrJoFAf4E02W8mI+tatZtuJJ5oB/c47paZNvds/P8fOIQCAmqhKDvXIlPjQ0FCXf5b25ZdfSpKio6M1atSoal3//PPP10UXXaSvv/5a06dP18svv1zmnIULF0qS7rjjjkqFdaAiVBt3VZXpoExHB7zEZpPee0+aMaMkqLdoYQb18eMJ6h7imL0DAEBt88iU+JAQc2pYYGBgmcfee+89SdLkyZMVFFT9+wOzZs2SJL3xxhvasWOHy2MZGRlKTExU48aNNWXKlGq/BlAa1cbLqsp0UKajA3XIZjO3ZzvjDCk21gzrLVpIjz9uTn1/4AHCOgAAfqjKCXrlypWKi4vTWWedpeeee06SZLG4/0N8w4YNSkpK0kknnaSbb7650q9x8OBBBQYGKjg4WIGBgQoICFDv3r119913a8iQIWrbtq3L+YsWLZLNZtOkSZPUunVrSZLNZpPdbldhYaEKCwvVogV3wlF1joB67PTuyAY8vZvRc8CH2GzS+++bI+pbtphtERFmtfcJE6TwcO/2DwAA1EiVA3tOTo5WrlxZqQD8+uuvS5Ly8/N19tlnuz3HZrOpsLBQ4eHh2rhxoyTp7LPPLjOK7vDss8+W+3rz5s3TvHnz3D6Wn5/vnAkAVAUBtSymgwJeZrNJH3xgBvXNm802gjoAAPVOlQO7Y516WAVVZXNzc/Xmm2/KYrEoLCxMhw4dcj529OhRHThwQMHBwWratKmKi4tdKsh36tRJERERCg4OVqNGjRQYGOh2un15DMOQzWZz3gzIz89XQABbzqP6CKgAfILNJn34oRnUN20y2044QbrvPmniRIkCqgAA1CtVDuyOdeiNGzc+7nmvvPKKsrOzNXLkSL3//vsuj/3000+64IILdP311ztH4UtzFKo7VnFxsYqKitzeLDAMo9yp+QAA+DWCOgAADVKtDDvn5eXpySeflMViUWxsrP7++2+Xx/fs2SNJbrdnK09ubq4GDx6sgQMHKjs72+Wx1NRUtWvXTtOnT9c///xT8zcAAIAvsNvNNerdukmjRplhvXlzc7u21FTp4YcJ6wAA1GO1EtiffPJJZWZm6qyzztIVV1yhSZMmuTzuCOzt2rWr1PV27Nih/v3766uvvtLq1as1ZswYl8efeOIJ7dy5U/Hx8Wrbtq1uvvlm/fnnn554KwAA1D273VyjfuaZ0rXXSikpZlCfMUNKS5OmTZOsVm/3EgAA1DKPB/bt27dr7ty5Cg0N1ccff6zw8HAlJSXJbrc7z9mwYYMkVWq/9A8//FDdu3fXH3/8oVatWmnx4sV65513XM6ZP3++vvnmGw0bNkzFxcVatGiRzj77bA0YMECffvqpbDabZ98kAAC1wRHUu3WTrrnGDOpWqxQfbwb1Rx4hqAMA0IB4PLDb7Xadc845mjp1qtq3b6+BAwfqwIED+vXXX53nrFu3ThaLRWeddVa510lLS9Pw4cM1cuRIHTp0SDfeeKM2bdqkG264oUwBOovFoosuukhLly7Vpk2bFBsbq8DAQK1cuVJXXXWVhgwZ4um3CQCA59jt5hp1R1DfuNE1qD/6KEEdAIAGyOOBvWPHjlq5cqWmTp0qSRo6dKgkadmyZZLMPdbXr1+vbt26yermj48DBw5o0qRJ6tKli5YuXarIyEh98sknWrRokU444YQKX79Tp0566623lJycrCFDhigoKEhPPfWUB98hAAAeUjqojxxZEtSnTy8J6s2be7mTAADAW6pcJb4yLBaLs2L7FVdcoaCgIC1ZskSzZs1SYmKibDabBg8e7Pa5VqtV6enpKigoUNu2bTVgwACtXLlSK1eurHI/br31Vj377LPq0KFDjd4PAAAeZbdLn3xijqAnJ5ttVqt0zz3SXXcR0gEAgKRqBPadO3dKkjIzM/X+++8rOTlZ69evL/f8iIgIDR48WMuWLdOKFSuc27jdcMMN7jsUFKSFCxdq/Pjx+uGHHxQXF1fVLjqFhIRo+PDh1X4+AAAeZbdLn35qBvX/1XNRs2ZmUL/7boI6AABwUaUp8cXFxZo1a5YkKSEhQddee61mz57tDPHluf322yVJ9957r7755hv17t1bp59+ernnN23aVAMGDFBoaKgks/CcYRgyDEP9+/dXixYtnMeGYSgsLEyDBw92Hn/11VeSzMAOAIDX2e3Sxx9L3btLV19thvVmzcwp72lp5hR4wjoAADhGlUbYGzVqpIEDB2rPnj264oorNGzYMF1yySVq0qSJM1y7M2jQIJ1yyinaunWrJGnatGmV61xQzWbsH1ucDgCAOmW3S0uXmiPqjtlozZqZo+l33y1VojYLAABouKqciOfOnauZM2cqIiLC2VZQUHDc5xQXF6tVq1bavXu3QkNDde6551bqtRzr4Kurps8HAKBa7HZp2TIzqK9bZ7aFh5cE9VL/DwUAAChPlavEh4WFuYT1iuTl5enKK6/U77//rkaNGik/P18XX3yxMjMzq/rSAAD4NsMwR9TPOUe66iozrIeHS9OmmVPfZ8wgrAMAgErz+LZupW3btk19+/bVF198oVNOOUXr1q3TiBEjlJycrLPOOkuff/55bb48AAB1wxHUe/SQhg+X/vxTatpUevhhM6jPnElQBwAAVeaRwH706FFJks1mkyQVFRVpzpw56tatm9avX69evXrpl19+UZcuXfTuu+9q9OjRysjI0ODBg9WvXz+98847ys7O9kRXAACoO4ZhTn0vL6jPmkVQBwAA1WYxDMOo6UUOHjyoiIgI9evXT9dff70ee+wx7d27VxaLRffee69mz56txo0buzxn8eLFuv/++7Vv3z5J0qWXXqply5bp1FNPVZMmTdSoUSNlZ2crMzNTJ598ssLDwyWZ28oVFRWpY8eOzmtt3bpVTZo00SmnnCLJnIa/a9cunXjiiWrevLmKi4t15MgR/f777zr11FOdz8vJyZHValV2draaNWtW048BANBQGIaUkGBWd//jD7OtaVNp0iTp3nulFi282j0AAOC7qpJDPRLY9+zZo1NOOUXdu3fXp59+quHDhys/P1+vvvqqLrzwwnKfd+jQIT3//PP67LPPtHLlSjVu3FihoaEKDQ1Vo0aNFBgYqICAmk0CKCwsVFFRkQoLC/X333+rXbt2zscI7ACAKikvqE+cKN13H0EdAABUqM4D+7GysrIUFham4OBgT1/aowjsAIBKMQzpv/81g/ratWZbWFhJUD/xRK92DwAA+I+q5NCabXRejqpUkQcAwGcZhrR8uRnUf//dbCOoAwCAOlIrgR0AAL9mGNLnn5tB/bffzLawMGnCBDOon3SSV7sHAAAaBgI7AAAO7oJ6kyZmUL//foI6AACoUwR2AAAMQ1qxwgzqv/5qtjVpIo0fL02eTFAHAABeQWAHADRcxwvq998vtWzp1e4BAICGjcAOAGh4DENKTDSDelKS2UZQBwAAPobADgBoOAxD+uILM6j/8ovZFhpaMvWdoA4AAHwIgR0AUP+VF9TvvNMM6q1aebV75bHZDSWlZikzt0Atw0PUKzpCgQEWb3cLAADUEQI7AKD+Mgzpyy/NoL5mjdnmB0FdkhKT0xWfkKL07AJnW5Q1RHFDYzSoa5QXewYAAOpKgLc7AACAxzmC+nnnSYMGmWE9NFS6915p+3bpqad8PqyPW7LWJaxLUkZ2gcYtWavE5HQv9QwAANQlAjsAoP4wDOmrr8ygfuml0urVUkiIdM89ZlB/+mkpMtLbvTwum91QfEKKDDePOdriE1Jks7s7AwAA1Cd+Fdj379+v6OhopaWlOduSk5N17rnn6oQTTtDkyZNlGPwBAwANjiOon3++dMklrkE9NVV65hmfD+oOSalZZUbWSzMkpWcXKCk1q+46BQAAvMJvAvv+/fs1ZMgQl7BeWFiooUOH6pxzztFvv/2mlJQUvfnmm17rIwCgjhmG9PXX0gUXmEH955/NoH733eaIuh8FdYfM3PLDenXOAwAA/stvAvu1116r6667zqVtxYoVys7O1jPPPKMOHTpo9uzZev31173UQwBAnSkd1AcOlFatkoKDpbvuMoP6vHlSlH8WZmsZHuLR8wAAgP/ymyrxCxYsUHR0tO666y5n27p169SnTx81adJEktStWzelpKSUe43CwkIVFhY6j3NycmqvwwAAzzMM6dtvzarvP/1ktgUHS2PHSlOmSCef7NXueUKv6AhFWUOUkV3gdh27RVKk1dziDQAA1G9+M8IeHR1dpi0nJ8el3WKxKDAwUAcPHnR7jccff1xWq9X51aZNm1rrLwDAgxxBvX9/6eKLzbAeHCxNmmSOqD/7bL0I65IUGGBR3NAYSWY4L81xHDc0hv3YAQBoAPwmsLsTFBSk4OBgl7aQkBDl5eW5Pf+hhx5Sdna282vXrl110U0AQHWVDur//rf0449mUJ8wQdq2TXruuXoT1Esb1DVK82N7KNLqOu090hqi+bE92IcdAIAGwm+mxLsTERGh5ORkl7bc3Fw1btzY7fnBwcFlAj4AwEd995059f2HH8zjxo2lMWOkBx+UWrf2atfqwqCuURoYE6mk1Cxl5haoZbg5DZ6RdQAAGg6/DuznnnuuFixY4DxOTU1VYWGhIiJY1wcAfuv7782gvnKleewI6g88IJ1yijd7VucCAyzq26GFt7sBAAC8xK+nxF944YXKycnRwoULJUmzZ8/WxRdfrMDAQC/3DABQZStXSv/6l/m1cqUZ1MePN6e+P/98gwvrAAAAfj3CHhQUpNdee02jRo3S5MmTFRAQoO+//97b3QIAVMXKleaIuuO/340bS6NHSw89REgHAAANmt8FdsNw3eTmiiuu0LZt2/T777+rT58+atGCqYMA4Bd++MEM6t99Zx47gvqDD0rs4gEAAOB/gd2dyMhIDR482NvdAABUxo8/mkH922/N40aNSkbUCeoAAABO9SKwAwD8gLugftttZlA/9VSvdg0AAMAXEdgBALXrp5/MoP7NN+YxQR0AAKBSCOwAgNqxapUZ1L/+2jxu1Ei69VYzqLdt69WuAQAA+AMCOwDAs44N6kFBZlCfOpWgDgAAUAUEdgCAZ/z8sxnUv/rKPHYE9Ycektq182bPAAAA/BKBHbLZDSWlZikzt0Atw0PUKzpCgQEWb3cLgL9YvVqKi3MN6rfcYo6oE9QBAACqjcDewCUmpys+IUXp2QXOtihriOKGxmhQ1ygv9gyAz1u92hxR//JL8zgoSLr5ZunhhwnqfoibtwAA+B4CewOWmJyucUvWyjimPSO7QOOWrNX82B6EdgBlrV4txcdLX3xhHjuC+tSpUnS0V7uG6uHmLQAAvinA2x2Ad9jshuITUsqEdUnOtviEFNns7s4A0CD98os0aJDUr58Z1gMDze3ZtmyRFiwgrPspx83b0mFdKrl5m5ic7qWeAQAAAnsDlZSaVeaPs9IMSenZBUpKzaq7TgHwTb/8Il12mdSnT0lQv/VWaetW6bXXpPbtvd1DVBM3bwEA8G0E9gYqM7f8sF6d8wDUQ0lJ0uWXm0E9MdEM6rfcYgb1118nqNcD3LwFAMC3sYa9gWoZHuLR8wDUI0lJ5hr1zz83jwMDpRtvNIvJdejg3b7Bo7h5CwCAb2OEvYHqFR2hKGuIyqv/a5FZcKhXdERddguANyUlSYMHS717m2E9MNAsJrdli/TGG4T1eoibtwAA+DYCewMVGGBR3NAYSSoT2h3HcUNj2NIHaAh+/VUaMqRsUN+8WVq4kKBej3HzFgAA30Zgb8AGdY3S/NgeirS6jpxEWkPY0g1oCH77TRo6VOrVS1q+XAoIkG66qSSod+zo7R6ilnHzFgAA32YxDKPBln7NycmR1WpVdna2mjVr5u3ueI3NbigpNUuZuQVqGW6OpPDHGVCP/f67NH269N//mscBAVJsrDRtmnTaaV7tGryDfdgBAKg7VcmhBHYCO4CG4vffzWJyCQnmMUEdpXDzFgCAulGVHEqVeACo79auNYP6Z5+ZxwEB0vXXm0G9Uyfv9g0+IzDAor4dWni7GwAAoBQCOwDUV+6C+nXXmUG9c2fv9g0AAAAVIrADQH3zxx9mUF+2zDwOCJBGjZIeeYSgDgAA4EcI7ABQX/z5pxnUly41jy2WkhH100/3Zs8AAABQDQR2APB37oK6Y0SdoA4AAOC3COwA4K/+/FOaMUP69FPz2BHUp02TunTxatcAAABQcwR2APA369aZI+qlg/o110iPPkpQBwAAqEcI7ADgL9avN4P6J5+YxwR1AACAeo3ADgC+bv16c+r7xx+bx46g/sgjUkyMd/sGAACAWkNgBwBftWGDGdQ/+sg8tlikkSPNoH7GGd7tGwAAAGodgR0AfE1ysjn1vXRQv/pqKS6OoA4AANCAENgBwFds3GgG9Q8/LGlzjKh37eq9fvkwm91QUmqWMnML1DI8RL2iIxQYYPF2twAAADyCwA4A3rZxozn1/cMPJcMw2/7zH7OYHEG9XInJ6YpPSFF6doGzLcoaorihMRrUNcqLPQMAAPCMAG93AAAarJQU6dprpTPPlD74wAzrV19tFpn74APC+nEkJqdr3JK1LmFdkjKyCzRuyVolJqd7qWcAAACeQ2AHgLqWkiKNGmUG8vffdw3qH35oBniUy2Y3FJ+QIsPNY462+IQU2ezuzgAAAPAfBHYAqCubNknXXWcG9ffeM4P6iBHSunUE9SpISs0qM7JemiEpPbtASalZddcpAACAWsAadgCobZs3m2vUHSFdkq66ylyjftZZx30qRdXKyswtP6xX5zwAAABfRWAHgNqyebM0c6b07rslQX34cHN7tgqCukRRtfK0DA/x6HkAAAC+iinxAOBpW7ZIsbHmnunvvGOG9eHDpT/+kD75pNJhnaJq7vWKjlCUNUTlzTOwyLyx0Ss6oi67BQAA4HEEdgDwlC1bpBtukGJipLfflux26corpbVrzaDevXulLkNRteMLDLAobmiMJJUJ7Y7juKExDX7pAAAA8H8EdgCoqa1bS4L6kiVmUB82zAzqn34qnX12lS5HUbWKDeoapfmxPRRpdZ32HmkN0fzYHg16yQAAAKg/WMMOANX111/SzJky3n5bFrtdkpR18WWyPj5TgT3PqfZlKapWOYO6RmlgTCRF+QAAQL1FYAeAqvrrL2nWLOdoukXSVx1769nzRmljZEdFfXVIcSHp1R7lpaha5QUGWNS3QwtvdwMAAKBWENgBoLKOCeqS9E2HczXv/OuVHNnReZqjMFx1p2Y7iqplZBe4XcdukTn1m6JqAAAA9RuBHQAq8vffJUHdZpMkGUOG6pa2l+n7pqeWOd2QGarjE1I0MCayylO0HUXVxi1ZK4vkEtopqgYAANBwUHQOAMrz99/SzTdLp58uLVpkhvUhQ6Rff9WaZxe6DesONS0MR1E1AAAAMMIOAMfats0cUX/rLeeIuoYMkeLipJ49JUmZf+6p1KVqUhiOomoAAAANG4EdQLXY7Eb9C5LbtkmPPSYtXlwS1C+/XJo+XTr3XJdT66owHEXVAAAAGi4COzyiXoY3lCsxOV3xCSkue4VHWUMUNzTGP6dqb99ujqgfG9Tj4qRevdw+hcJwAAAAqG0EdtRYvQtvOK7E5HSNW7K2TEitaWV0r9i+3RxRd6xPlyoM6g4UhgMAAEBto+gcasQR3kqHdakkvCUmp3upZ6gNNruh+IQUtyPKjrb4hBTZ7O7O8CGpqdLo0VLnztIbb5hh/bLLpDVrpOXLKwzrDhSGAwAAQG1ihB3VVlF4q8m2VvBNSalZZW7OlFa6MrpPrrtOTS0ZUT961GwbNMgcUe/Tp1qXbEiF4Vj6AgAAULcI7Kg2vw9vqLLKVjyvSWX0WpGWZgb1N98sCeqXXmoG9b59a3z5hlAYjqUvAAAAdY8p8ag2vw1vqLa6qozuMWlp0pgx0mmnSa+9Zob1Sy6Rfv5ZSkz0SFhvCFj6AgAA4B0EdlSb34U31JijMnp5k6AtMkddvV4ZfccO6Y47zKC+YIEZ1AcOlFatkr74gqBeBfWmbgEAAIAfIrCj2vwmvMFjHJXRJZX5vvtEZfTSQf3VV82gfvHF0k8/SV9+KfXr551++bGqLH0BAACAZxHYUW0+H95QK3yyMvrOndLYsSVBvbhY+3qdr+T3/ivbF19K551X932qJ1j6AgAA4D0UnUONDOoapTEXRmvBj6kySs2ItVik2y+IphhVFflLFW6fqYy+c6f0+OPS669LxcWSpF87nK25va/Rr226Sn9IUdu/rReF0bz1s8HSFwAAAO8hsKNGEpPT9eoPqWXWt9oN6dUfUnX2qSf4fVCqKzWpwu2NMOfVyui7dkmzZ7sE9QO9z9edHYbolzZdXU51FEbz533RvVmh3bH0JSO7wO06dovM2RUsfQEAAPA8i2EYDbZSUE5OjqxWq7Kzs9WsWTNvd8fv2OyGzn/i23LXtzr+kP/pgYt8cpTYlziqcB/7y+j41I4XNhvUdlu7dpkj6q+95gzquugi2R55VOevPur3P4vubrx8lZJR7Z8NT3H8fEpy6Udd9gEAAKC+qEoOZYQd1cY+7J5RURVui8wq3ANjIsuEzfKCfn0YVXaxa5c0Z44Z1IuKzLYBA6Tp06X+/ZW07YDSE9eU+3R/+Fl0d+MlslmwCo7aq/Wz4UmOugVl+ldfbwwBAAD4CAI7qs0XilH5y5rv46nujY+aBH2/sXt3yYh66aAeF2f+83984WexJsq98ZJTeNzn1eWNCJ+pWwAAANCAENhRbd4uRlVfpoJXN2zW1gwHn7gJsnu3OaK+YEFJUO/f3xxRLxXUHbz9s1gTx7vxUll1dSPCq3ULAAAAGiACO6rNm8Wo6tNU8OqGzdoYVfb6TZA9e8wR9dJB/cILpfh4t0HdwZ8Lo1V046UyfPFGBAAAAGqOfdhRbd7ah72iqeCSORXcZvePeoqOsFnep2SRGZqPDZueHlV23AQ5Njw6boIkJqdX6jrVsmePNHGi1L699OKLZli/8ELpu++klSuPG9Yl7/0sekJNRsfL+9kAAABA/UBgR404ilFFWl1DYaQ1pNZGuasyFdwfVDdsVjfou+O1myB79kiTJkkdOkgvvGAG9QsukL75Rvr++wqDemne+Fn0hOqOjvv6jQgAAADUHFPiUWN1XYzK3wuMuVOdKtyOoD9uyVpZ5H67rcqGuTqv+L93r7lG/dVXpcL/FVY7/3xz6vu//iVZqvez44+F0Soznd/apJFCggKVkUOFdgAAgIaEwA6PqMtiVP5cYOx4qhM2PbXdVp3dBElPN4P6K6+UBPXzzjOD+kUXVTuol+ZvhdEqc+NlzlVn+t2NCAAAANQcgR1+x58LjFWkOmHTE6PKtX4TJD1deuIJM6gX/C/0ezio+7PK3njxpxsRAAAAqDkCO/yOJ6eC1xc1HVWutZsg6enS3LnSyy+XBPV+/czt2S6+uMEH9dL8cTo/AAAAahdF5+CX/LXAmK/yeJX19HTpnnvMqu/PPmuG9b59pS+/lH76SRo4kLDuhuPGy7DurdW3QwvCOgAAQANnMQzDP/a+qgU5OTmyWq3Kzs5Ws2bNvN0dVIPNbjAi6UE13oc9I8McUZ8/v2REvW9fc+o7I+oAAABAlXIogZ3ADrio1k2QjAzpySfNoJ6fb7b16WMGdUbTAQAAAKeq5FDWsKPeYdS9Zqq0Hv6ff0pG1B1BvXdvM6hfcglBHQAAAKgBAjvqlRpP6Ubl/POPOaL+0ksEdQAAAKCWUHQO9UZicrrGLVnrEtYlKSO7QOOWrFVicrqXelaPZGZKkydL0dHS00+bYb1XL2nFCmn1aunSSwnrAAAAgIcQ2FEv2OyG4hNS3G5J5miLT0iRzd5gSzbUTGamNGWKGdSfeqokqH/+ubRmjTRoEEEdAAAA8DACO+qFpNSsMiPrpRmS0rMLlJSaVXedqg9KB/Unn5Ty8qRzz5WWLzeD+mWXEdQBAACAWsIadtQLmbnlh/XqnNfg7dtnjqS/8IIZ0iUdjDlLGfc+qE43j1RgIPf6AAAAgNpGYPcDVD2vWMvwEI+e12C5CeoprTvpyb6j9F37ntJfFkXN/Y4ifgAAAEAdILD7OKqeV06v6AhFWUOUkV3gdh27RVKk1bzZATf27TOLyL3wgnTkiCQpO6ab7u1ypb7pcK7LtHdHEb/5sT34GQQAAABqEfNafRhVzysvMMCiuKExksxwXprjOG5oDDMTjrV/v/Tgg+Ya9SeeMMP6OefItuwzDbr+aX3TsVeZNeoU8QMAAADqBoHdR1H1vOoGdY3S/NgeirS6TnuPtIYwGnys/fulhx6S2rUrCeo9ekjLlkm//qqkM/opPaew3KdTxA8AAACofUyJ91FVqXret0OLuuuYjxvUNUoDYyJZ81+eAwfMqe/PPy8dPmy2nX22NH26NHSoczSdIn4AAACA9xHYfRSByVVVCu8FBli4iXGsAwekZ56R/u//jhvUHSjiBwAAAHgfgd1HEZhKUHivBtwF9e7dzaB+xRXl7qHe0Ir4sRMDAAAAfBGB3Uc1tMBUHkfhvWM/A29WKveLcJeVVRLUc3PNtu7dpbg4adiwcoO6g6OI37gla2WRXD7/+lbEjxtC/s0vfh8BAACqyWIYRoOtWpaTkyOr1ars7Gw1a9bM290pwxFWJfeBqb4XUrPZDZ3/xLflruV33LT46YGLJKlO/mj3+XCXlSXNmyc991xJUD/rLHNEvRJB/Vg+/35rqLwbQg3ld8zf1fefTwAAUD9VJYcS2H04sEsN+w/S1dsOaNSCNRWed8/FnfTerztr/TPy6XB38KA5ol46qHfrVhLUA6q/IUR9HcGsyg2h+vB+6xuf/n0EAAA4jqrkUKbE+7iGXPW8sgX15n29tUybp6fMV7TNnkXmNnsDYyLr9ntz8GDJiHpOjtnmoaDuUF+L+LETg//y2d9HAAAADyOw+4H6GpgqUpOCep7+o93nwt3Bg9Kzz5pfjqB+5plmUL/ySo8EdW+oy9F8dmLwXz73+wgAAFBLCOx+pL5OTS7POW1PkMUiVXfRhif/aPeZcHfokDmifmxQj4uThg/326Au1f3yD3Zi8F8+8/sIAABQywjsfqIhrmWf//22aof10jzxR7vXw92hQyUj6tnZZlvXrmZQv+oqvw7qknd2A2AnBv/l9d9HAACAOuLff+U3EI4wc+wUUEeYSUxO91LPao/NbmjhqlSPXMsTf7Q7wl158xksMm+geDzcHTokxcdL7dqZ/8zONoP6hx9K69ZJV1/t92G9ovXIkrm0wWb3bH1Mx9Z1ksp8X+vb1nX1jdd+HwEAAOqYf/+l/z+TJk2SxWJxfnXs2NHbXfIYb4UZb0tKzdKh/OIaXcOTf7TXebjLzpY9Pl5H27Yz16VnZ8s44wzpgw/qTVB3qMp6ZE8b1DVK82N7KNLqelMn0hpClXEfxs0WAADQUNSLKfG//fabli9frn79+kmSAgMDvdwjz2moxZUqO429SeNA5RfZJLnfq96Tf7Q7wt2xSxMiPbk0ITtbeu45FT/1jBrlZitA0tYWp+q580bpj17/1qNdumpQPQnqDt5ej9yQd2LwZ3Xy+wgAAOBlfh/Yjx49qo0bN+rCCy9U06ZNvd0dj/N2mPGWyk5jv+PC9uocGV5nf7RXFO6qXRgwO1v6v/8z91I/dEiNVBLUPz/9PBmWAFlyi2ptPbc3+cJ65Ia6E4O/42YLAACo7/w+sG/YsEF2u13du3fXnj171L9/f7366qs69dRTvd01j/CFMOMNFRUEk6QTmjTShItOU2CApU7/aC8v3FWrMGBOTklQP3hQkpR60ql6uu+1+rzzebIHlMwWqa/7S1P8DTXBzRYAAFCf+f3c2pSUFHXu3FlvvfWW1q9fr6CgII0ZM8btuYWFhcrJyXH58nUNtbjS8daoOtoev+pMZ2h1/NE+rHtr9e3Qos7DbJULA+bkSLNmmcXkHnnEDOtdumjrs6/q3zc/r/92udAlrDvU5npub2E9MgAAAOCe3wf266+/Xr/99pv69u2r0047TS+99JK++uort2H88ccfl9VqdX61adPGCz2umoYcZsorCBblYwXBqlQYMCdHeuwx16B++unSO+9IGzZoU//L3Qb1Y9W3JRAUfwMAAADKshiGJ3a69h0FBQUKDQ3V5s2b1blzZ5fHCgsLVVhY6DzOyclRmzZtlJ2drWbNmtV1V6ukIe7D7lDtdeF1ZPW2Axq1YM1xz2lamKfPA/7UqQvnO6e+6/TTpUcflUaOlP5XKLEy15Kkd2/vUy+nAfv69xoAAACoqZycHFmt1krlUL9fwz558mSdffbZuu666yRJq1evVkBAgNvR8+DgYAUHB9d1Fz2iIRdX8vU1qscb7Q4rzNNNa/+r25M+1QkFuWZj585mUL/mGmdQd2jo67l9/XsNAAAA1CW/D+xnnXWWpk2bplatWslms2nixIm68cYb1aRJE293zePqOsww2lk57gr+uQvq+e07KnRmvNug7uBYAjFuyVpZVPtb1QEAAADwXX4f2GNjY7Vx40aNGDFCgYGBio2N1ezZs73dLb/XkKfgV1XpUfEmboL69ojWWvzvG/TI2zOlRhX/ynlyf2luugAAAAD+q96tYa+KqqwdaEgcFc+P/cFwxDyKgJX11S9/ae0Dj+n2pE8VkW8WPNwW0VrP97tWCV0u1Is3nlvlz6ymYZubLgAAAIDvqUoOJbAT2F3Y7IbOf+LbMtuTOTjWUP/0wEWM1ErS4cPSiy9KTz4pHTggSdp+wsn6v/NGKaHLhWp5QphXAjI3XQAAAADf1KCKzsGzklKzyg3rkus+4A26ONjhw9JLL5lBff9+s+2002R/eJr+6XOp/pV/VNd4aQp6RdvMWWRuMzcwJpKbLgAAAIAPI7DDRWX3965v+4BXmrug3rGjuaf6ddcpIChIfb3bQ266AAAAAPUEgR0u3FU8r8l59caRI2ZQnzvXbVBXUPV/lTxdGI6bLgAAAED9QGBvwNwFxYa+D3gZR45I8+ebQX3fPrOtQwczqF9/fY2D+gvf/qWFq9J0KL/Y2X5sYbiqBnpuugAAAAD1A4G9gTpeBXH2AZcZ1F9+2QzqmZlmW/v2ZlCPja1RUJfMz//BTzboUF5xmccysgs0bslazY/tIUlVrvTuzZsubCMHAAAAeA5V4htglfjKVBCXqh4U64W8vJIR9WOD+vXXS40a1fglyvv8S7NIsjZppOy84mpVene8huT+pkttVIlnGzkAAACgYmzrVkkNMbBXZds2SQ1ntDQvzxxRf+KJkqAeHS1NmybdcINHgrpU8edfWZXZXq8yAdpTI+JsIwcAAABUDtu6oVxVrSBe76uI11FQd6jo86+sylR6H9Q1SgNjIssN5J4aEWcbOQAAAKB2ENgbGCqI/09+fklQ/+cfs60Wg7pjJHtFcrpHr1vR9ykwwOI20Jc3Il56/XxlQzvbyAEAAAC1g8DewDT4CuL5+dIrr5hBPSPDbGvXzgzqN97o8aAuuR/J9pTqfJ88PSLOTSAAAACgdhDYG5gGu22bu6Detq308MPSTTdJjRvXystWpsBceZqXU3ROqtn3ydMj4v5yE4gK9gAAAPA3BPYGJjDA0rC2bcvPl159VZozxzWoO0bUjwnqngx1xxvJPp6w4EBd27ONmoU21rNfb/X498nTI+L+cBOICvYAAADwRwT2BmhQ1yjNj+1RJsBE1qcAk58vLVhgBvX0/60br2BE3dOhrqoF5po0DlSAxaLDhUf1+qo0SeYouySX/dpr+n3y9Ii4r98E8uR6fQAAAKAuEdj9hKen81ZUQdxvFRSUjKg7gvqpp5pB/eaby536XhuhrrIj1Df2basWYcF69uutZV7fMSX+notPU7sTwzzyfaqNEXFfvQlEBXsAAAD4MwK7H6it6bzlVRD3SwUFJSPqe/eabZUI6lLthbrKjlBfGhOp+z9ad9zXf+/XXcfdc70qamtE3BdvAlHBHgAAAP4swNsdwPE5Rn6PDR2Okd9ED28T5ncKCqQXXpA6dJAmTTLDeps25pZtf/0ljRlTYUG5qoS6qnCMZJcXVy0yb7zIolp5/eNxjIhHWl1vKkRaQ2o0RdxxE2hY99bq26GF10etqWAPAAAAf8YIuw9jOm/5bHn52jH3eUXNn6fQzP8Vk2vTRpo6VbrlFik4uNLXqq1QV9mR7P2HC2vl9SviiyPinuYvFewBAAAAdxhh92G1NfLr1woLtXHa49p/clu1j39AoZkZ2ht+ouYOu0tfLP1BGju2SmFdqt1QV5mRbG+GSl8bEfe0ys5yqHfbGAIAAKBeYITdhzGdt5TCQumNN5QfP1Nn/GMuA9gbfqJe6jtSH5w5UMVBjaQPNmp+4+AqT+eu7W3JKhrJ9odt0fyVr1ewBwAAAI6HEXYf5smRV5vd0OptB7Tszz1ave2AbPaq7g7uJYWF0vz5UseO0p13KvSfdKU3baFpA8dpwJgFWnL25SoKauQMYvEJKVV+b45QJ6nMSKynQt3xRrLr4vUbstparw8AAADUNothGH6S3DwvJydHVqtV2dnZatasmbe7U4bNbuj8J76tcOS1ourhtVVlvlYVFkoLF0qzZ0u7dplNraI0s9uV+qDbJSoKalTuU9+9vU+1Kn57+3Py9uvXd57eGhEAAACojqrkUAK7Dwd2qaRKvOR+Om9FI4Tl7S9+vOd7NdgUFZlB/bHHnEFdJ58sTZ2qhJ6DNPHTzRVe4rlru2tY99bVenlvhzpvvz4AAACA2lWVHMoadh/nmM577MhrZCVGXqtTZd5ro7yOoD57trRzp9l28snSQw9Jo0dLISE6cduBSl2qJsXZvL03vbdfHwAAAIDvILD7gepuv1WVKvN9O7QodzTesed7raz3LSqS3nzTHFF3BPWoKDOo3367FFISvv2lOBuj5AAAAAA8gcDuJ6oz8lqVKvOVGY1/+NNk5RfZFGkNrXkILSqSFi0yg/qOHWZbOUHdwR8qfrMOHQAAAICnUCW+HqtKlfnKjMYfOFKkez5Yp1EL1uj8J75VYnJ61TtVXCy99prUubM0ZowZ1qOipOeek7ZtkyZOdBvWHXy54rdjhsKxn6NjhkK1Pi8AAAAADRYj7PVYVaaQ/3f93ipdOz27QGOXrNXLlQ3JxcUlI+ppaWZbZKT04INmcA8NrfRrV3eJQG2qTr0AAAAAADgeRtjrsars713dQm0PfrLh+PueFxdLr78udepkTnVPSzOD+rx50vbt0l13SaGhVd4n/nj7mntDVeoFAAAAAEBlMMJez1W2ynyv6AhFNgtRRk7l1r07HMor1gvf/q27Lj7N9YHiYumtt6RZs6TUVLOtVStzRP2OO1xG1OvDuu+q1AsAAAAAgMogsDcAlZlC/lVKhgqO2qp1/YU/p2rCRR3N65UX1B94wAzqTZq4PNcrlelrQVXqBQAAAABAZRDYG4jjVZkvLzRX1qG8Yv269R/1Wb3CDOrbt5sPHCeoS/Vr3be/bDkHAAAAwH+whr2BO15oroxAu01Xb/haXS/pI916qxnWW7aUnn7a/Pd77nEb1qX6te67KvUCAAAAAKAyGGFv4CoKzeUJtNs0fON3mvDz+2p36H/blbVsKU2ZIo0dK4WFVXiN+rbuu7L1AgAAAACgMgjsfsJmN2plG7OqhuFAu01XbvxeE39+zxnUs8Kaq/n0hxUwblylgrpDfVz37YtbzgEAAADwTwR2P1CbVdQrG4YD7TYNSzGDevRBM6jvb2LVq71G6Nwnpmpgrw5Vfu36uu77ePUCAAAAAKCyWMPu4xwF4Y6dtu6oop6YnF6j6ztCc3njv0F2m27d9oPWv3+Xnlk+T9EH07W/iVWPDbhV/5myRD2en1WtsC6x7hsAAAAAjsdiGEZ16435vZycHFmtVmVnZ6tZs2be7k4ZNruh85/4ttw15o4R6J8euKhGodZxU0CSc6TbHFFf+b8R9b3mYyeeqJ23jdeGK65Ti1YtPDbVuz7sww4AAAAAlVGVHMqUeB9WlSrqNZmCXbpYWubBI7rif0G9/f+Cuk48UZo8WZY771Tbpk3VttqvVP7rs+4bAAAAAFwR2H1YXVZRH9SlpS5Z+7UKF8QrNHWbJMlo0UKWyZOl8eOlpk1r/BrHw7pvAAAAAHBFYPdhdVJF3WaT3ntPmjFDAVu3KlSSIiLMEfXx46Xw8OpfGwAAAABQbQR2H1arVdRtNun996UZM6QtW8y2iAjpvvukiRMJ6gAAAADgZQR2H+aooj5uyVpZJJfQXu0q6h4I6rW1J3xdvwYAAAAA+DICu48rXRCudAG6yKpWUbfZpA8+MIP65s1m2wknSPffL02YIFWySn5dVHSnajwAAAAAsK2bT2/rVlq1R5xtNunDD82gvmmT2XbCCSUj6lV4347t3479gXH0Yn5sjxoH6rp4DQAAAADwFrZ1q4eqXEXdXVBv3ly6915p0iTJaq3S69vshuITUtyupTdkBur4hBQNjIms9tT1ungNAAAAAPAXAd7uADzMbjfXqHfrJo0aZYb15s2lmTOltDTpkUeqHNalqu0JX1118RoAAAAA4C8YYa8v7Hbpo4+k+HgpJcVsq8GI+rHqYk/4utx3HgDw/+3de3BU9f3/8dcmIQnBZE0CaQKmIUKljagMfINQtVUr31JLvPSipTotMlrFtjh8Z6j1Ms03TmvbUdC2ArZ4oZUB29EK34xf4+BAO+CEZuQeIvglTSmX5BcgMbsYcjH7+f0RN2aT3WR3s5dzdp+Pmcy4m3POvvHk8MmL8/mcNwAAsDoCu915PNLrr/cH9cOH+99zOj8N6hdfHJGPiUVP+Jj0nQcAAAAAmyCw21WgoL5ihfTQQxEL6l5R7Qkfw88AAAAAALtgDbvdeDzq+/Nf1Pn5y6U77pAOH5ZxOqX//u/+NeqVlREP69KnPeGlT5/Y7hV2T/g4fAYAAAAA2AWB3S4+WaPunnG5Ur9zp7L+74hc6Vl69prF+s/lf1TNN38QlaA+mLcnfKHTd0p6oTMzYu3WYvEZAAAAAGAH9GG3Qx/26mrpscekQ4ckSa70LL1Ufqte+o9b5cq8yG+P8rD7tgchmseO5WcAAAAAQKzRhz3R1NZKhw7pfEaWXpxzq14s7w/qXkN7lG9raFFVdYNPi7QiZ6YqK8oicoc65J7wFv0MAAAAALAyArsd/Nd/6cT5j/X1lDk+QX0wb4/y57Yf07PvfDDsoW0tHV1atnEv08oBAAAAwCYI7HYwcaL2Ln1Irlf3j7rpy+82+X3C+tC78KFOL/c3RV2Sz3tzSnK153g709gBAAAAIAII7DYRbO/xDy/0Bvye9y58XVNbSNPNa+qbh02xvzhrXP/ndX76eSkOyTPoXwsiOQ0fAAAAAJINT4m3CW+P8kD3qx2SLh4/Lqhjtbq7Rt/oEzX1zVq2ca9PWJf6g/rgsC75hnXp02n4NfXNQX8eAAAAAKAfgd0mgulRvuSLU4M61sSLMoLars9jVFXd4HeKfTC8+1VVN6hvaJoHAAAAAIyIwG4jo/UoL5+aF9yBgszOdU1tw+6sh2rwNHwAAAAAQPBYw24zC2cWaUFZod8e5Vv3nwrqGGc/6g5qu1CmzsfyWAAAAACQDAjsNhSoR3mwD6aL9HaxPhYAAAAAJAOmxCeQYB5MV+T8tCXbWI8XjFA/EwAAAADQj8CeQIJ5MF1lRVnQvdFHOl4wwvlMAAAAAEA/AnuCGe3BdKH2RA90vNyscQO92L2GZvJwP3OoPo9RbeM5bd1/SrWN53jiPAAAAICk4DDGJG36cblccjqd6ujoUE5OTrzLiag+j/H7YLpIHk+Sz3tzSnK153h7xD5T6u8DX1Xd4PO0+iJnpiorysb8DwEAAAAAEGuh5FACe4IG9kRQU9+sZRv3DutC5/0ngEjcvQcAAACAWAolhzIlHlEXzpT2Po9RVXWD35bx3veqqhuYHg8AAAAgYdHWDVEV7pT2uqY2n32GMpKaO7pU19Tmt8UdAAAAANgdd9gRNd4p7UODd0tHl5Zt3Kua+uaA+7a6A4f1cLYDAAAAALshsCMqxjqlvSA70+/74W4HAAAAAHZDYEdUhDKl3Z+5pXkqcmYG7P/uUP/Ueu/T6mONVnMAAAAAoo017EnO266txdWltvPdypuQrkLn+DG3ZBvrlPbUFIcqK8q0bONeOSSfO/XeqiorysbcNi4ctJoDAAAAEAsE9iTmL3h6jTWARmJK+8KZRVp39+xhNRbGMRwHajXnXZdPqzkAAAAAkUIf9iTtwx4oeA7mUPi9zvs8Rtf+ertaOrr8foZD/cF718M3jnqX3DsLoNXdpYLszDHf/Q+X988UaKp/KH8mAAAAAMmJPuwY0UgPhBvMKPxe594p7YH2NAp+SntqikPzp+Xr1llTNH9aftzC8FjX5QMAAABAKAjsSWi04DkYAfRTtJoDAAAAEEsE9iQUaqAMJ4B67+IH4lD4d+/jhVZzAAAAAGKJwJ6EQg2U//f/3CG3LkvE6eNWbzUHAAAAILEQ2JPQaMFzqOd2NGrx+t269tfbVVPfHNQ+kZ4+boW+5951+ZKG/b+Ld6s5AAAAAImHwJ6kvlNePOpD54byti4LJrRHcvp4TX2zrv31di1ev1sPvbo/5H88iCRvq7lCp2/dhc5MWroBAAAAiCjauiVZW7eReq8HI9jWZZFq6xao/Zx3j3iFZKu0mgMAAABgL7R1SwLhTBH/34PNemDj3oBh/Vuzp+jB66eNeIxg155HYvr4SO3nvO/F68F1Vmk1BwAAACBxpcW7AITO313yImemKivKAt5t/t+Dp/WjzfsCHtMh6d3Gc/rJV2cEVcO7x86MelfZO318aK2Fo9TqFcqD6+ZPyw+qbgAAAACwCwK7zQSaIu5dX+5vinhNfbMe3BQ4rEufht+2j3qCquO5HY16fe+pUYP3wplFWlBWGNb0cfqeAwAAAEhmTIm3kXCmiI/WD32ovIsygn6CfLAPoQt3+jh9zwEAAAAkMwK7jYTT23y0fYYqzMkMuPbc3+dJ0VtHTt9zAAAAAMmMwG4j4UwRD2W6uDf8Bmpd5k+wD6ELR6gPrrNCr3YAAAAAiBTWsNtIOFPEQ5kuPjj8eteeP7PtAz2349io+0ZrHXmwD64L50F8AAAAAGBlBHYb8U4RD9TbXJIKczJ8pogHs0+KQ3pu8fCH1aWmOHTN9IlBBfZoriMf7cF14TyIDwAAAACsjinxNjLSFHGvro892tbQEtI+v71zlnInpPudSm6VdeSBHlxn5V7tiYKlBgAAAEB8OIwxSfvbt8vlktPpVEdHh3JycuJdTtBq6pv1078e0oedvcO+5w3WQ+8qB5oyfstVRfqfA80jTiX33sGW5BOMA31WLNU2ntPi9btH3W7zffPo1R4GlhoAAAAAkRVKDiWw2zCw93mMrvnVdrW4/K8bd6h/jfeuh2/0aaHW5zE+08rbP+rRDzcNn0ruL4hbNbht3X9KD726f9TtfvOdWbp11pToF5RAAi01sMI/1AAAAAB2FUoOZQ27DdU1tQUM65Lvk9sH31X2TiuX+sP7tb/eHnAquUP9U8kXlBUqNcUx6jryeKFXe3SMttRg6M8HAAAAgMhLiDXs9fX1Ki8vV25urlauXKlEnzQQTnu3ocLp6R5oHXk8WWWNfaIJ5+cDAAAAQGTZPrB3d3eroqJCc+bM0XvvvaeGhgZt2LAh3mVFVSTuKkci9FtBqL3aEZxE+fkAAAAA7Mz2gf2tt95SR0eHVq9erWnTpunJJ5/Uiy++GO+yoioSd5UTaSq5t1d7odO31kJnJuusw5RIPx8AAACAXdl+DfuBAwc0b948ZWVlSZKuvPJKNTQ0+N22u7tb3d3dA69dLldMaow0713lZRv3yiH/T24f7a7yaP3ZvQ+us8tUcquusberRPv5AAAAAOzI9nfYXS6XSktLB147HA6lpqaqvb192La//OUv5XQ6B76Ki4tjWWpEjfWuciJOJbfiGnu7SsSfDwAAAMBubN/W7eGHH1Zvb69Wr1498F5xcbF2796tKVN823j5u8NeXFxsu7Zugw1t1RbqXWWrtmuDNfDzAQAAAERWUrV1y8vLU319vc97brdb6enpw7bNyMhQRkZGrEqLicGt2sLBVHKMhJ8PAAAAIH5sH9jLy8u1fv36gddNTU3q7u5WXh5ra4M11tCPxMbPBwAAABAftl/D/qUvfUkul0svv/yyJOnJJ5/UTTfdpNTU1DhXBgAAAABA+Gx/hz0tLU0vvPCCFi9erJUrVyolJUV/+9vf4l0WAAAAAABjYvvALkm33HKLGhsbtWfPHs2bN0/5+UzfBQAAAADYW0IEdkkqLCzU17/+9XiXAQAAAABARNh+DTsAAAAAAImIwA4AAAAAgAUR2AEAAAAAsKCEWcOerPo8RnVNbWp1d6kgO1NzS/OUmuKId1kAAAAAgDEisNtYTX2zqqob1NzRNfBekTNTlRVlWjizKI6VAQAAAADGiinxNlVT36xlG/f6hHVJauno0rKNe1VT3xynygAAAAAAkUBgt6E+j1FVdYOMn+9536uqblCfx98WAAAAAAA7ILDbUF1T27A764MZSc0dXapraotdUQAAAACAiCKw21CrO3BYD2c7AAAAAID1ENhtqCA7M6LbAQAAAACsh8BuQ3NL81TkzFSg5m0O9T8tfm5pXizLAgAAAABEEIHdhlJTHKqsKJOkYaHd+7qyoox+7AAAAABgYwR2m1o4s0jr7p6tQqfvtPdCZ6bW3T2bPuwAAAAAYHMOY0zS9v5yuVxyOp3q6OhQTk5OvMsJS5/HqK6pTa3uLhVkZ2pOSa72HG8feD23NI877QAAAABgEaHk0LQY1YQoSU1xaP60fElSTX2zvvzUDp+Wb0XOTFVWlHHHHQAAAABshinxCaKmvlnLNu4d1p+9paNLyzbuVU19c5wqAwAAAACEg8CeAPo8RlXVDfK3tsH7XlV1g/o8Sbv6AQAAAABsh8CeAOqa2obdWR/MSGru6FJdU1vsioqwPo9RbeM5bd1/SrWN5/jHBwAAAAAJjzXsCaDVHTish7Od1dTUN6uquoG1+QAAAACSCnfYE0BBduboG4WwnZWwNh8AAABAsiKwJ4C5pXkqcmYqUPM2h/rvSM8tzYtlWWPG2nwAAAAAyYzAngBSUxyqrCiTpGGh3fu6sqLMdv3Yk2FtPgAAAAAEQmBPEAtnFmnd3bNV6PSd9l7ozNS6u2fbcq13oq/NBwAAAICR8NC5BLJwZpEWlBWqrqlNre4uFWT3T4O32511r0Remw8AAAAAoyGwJ5jUFIfmT8uPdxkR4V2b39LR5Xcdu0P9MwjstjYfAAAAAILBlHhYVqKuzQcAAACAYBDYYWmJuDYfAAAAAILBlHhYXqKtzQcAAACAYBDYYQuJtDYfAAAAAILBlHgAAAAAACyIwA4AAAAAgAUR2AEAAAAAsCACOwAAAAAAFkRgBwAAAADAggjsAAAAAABYEIEdAAAAAAALIrADAAAAAGBBBHYAAAAAACyIwA4AAAAAgAUR2AEAAAAAsCACOwAAAAAAFkRgBwAAAADAggjsAAAAAABYUFq8C8Do+jxGdU1tanV3qSA7U3NL85Sa4oh3WQAAAACAKCKwW1xNfbOqqhvU3NE18F6RM1OVFWVaOLMojpUBAAAAAKKJKfEWVlPfrGUb9/qEdUlq6ejSso17VVPfHKfKAAAAAADRRmC3qD6PUVV1g4yf73nfq6puUJ/H3xYAAAAAALsjsFtUXVPbsDvrgxlJzR1dqmtqi11RAAAAAICYIbBbVKs7cFgPZzsAAAAAgL0Q2C2qIDszotsBAAAAAOyFwG5Rc0vzVOTMVKDmbQ71Py1+bmleLMsCAAAAAMQIgd2iUlMcqqwok6Rhod37urKijH7sAAAAAJCgCOwWtnBmkdbdPVuFTt9p74XOTK27ezZ92AEAAAAggaXFuwCMbOHMIi0oK1RdU5ta3V0qyO6fBs+ddQAAAABIbAR2G0hNcWj+tPx4lwEAAAAAiCGmxAMAAAAAYEEEdgAAAAAALIjADgAAAACABRHYAQAAAACwIAI7AAAAAAAWRGAHAAAAAMCCCOwAAAAAAFgQgR0AAAAAAAsisAMAAAAAYEEEdgAAAAAALIjADgAAAACABRHYAQAAAACwIAI7AAAAAAAWRGAHAAAAAMCCCOwAAAAAAFgQgR0AAAAAAAsisAMAAAAAYEEEdgAAAAAALIjADgAAAACABRHYAQAAAACwoLR4FxBPxhhJksvlinMlAAAAAIBk4M2f3jw6kqQO7G63W5JUXFwc50oAAAAAAMnE7XbL6XSOuI3DBBPrE5TH49Hp06eVnZ0th8MR73L8crlcKi4u1okTJ5STkxPvchBFnOvkwblOHpzr5MG5Ti6c7+TBuU4esTzXxhi53W5NnjxZKSkjr1JP6jvsKSkpuuSSS+JdRlBycnL4SyJJcK6TB+c6eXCukwfnOrlwvpMH5zp5xOpcj3Zn3YuHzgEAAAAAYEEEdgAAAAAALIjAbnEZGRmqrKxURkZGvEtBlHGukwfnOnlwrpMH5zq5cL6TB+c6eVj1XCf1Q+cAAAAAALAq7rADAAAAAGBBBHYAAAAAACyIwA4AAAAAgAUR2IEY2bBhgxwOx7CvDRs2jLjflVde6bP9vffeG5uCAQR09uxZlZaW6l//+tfAe1u3btWll16qtLQ0zZo1S++//35Qx7rlllt8rvGbbropSlUDGMnQ6zrccVti7AasINC4bLfxmsAeZ8uXL/c58dOnTx91n7///e/6whe+oIkTJ2r16tUxqBKR8N3vflft7e0DXydOnNDEiRN13XXXBdyns7NTjY2Nam1tHdjvd7/7XQyrRij8hbj6+nqVl5crNzdXK1euVLDP+XzttddUUlKiyZMna/PmzVGqGOE4e/asFi1a5HOeGxsbdc899+hXv/qVTp06pcsuuyzoX9Dfe+89HTp0aOAa37p1a5QqRzj8XdfhjN0S47eV+buuwxm3JcZuqwsU1hivE0ugcdmW47VBXM2fP9+8+eabpr293bS3txuXyzXi9q2trSYnJ8dUVVWZDz74wMyePdts3749RtUikn7xi1+Y++67b8Rtdu3aZebNmxejijAWZ86cMVdffbWRZJqamowxxnR1dZmpU6ea+++/3xw7dszcfPPN5qWXXhr1WIcOHTLp6elm/fr15uDBg2b69OnmyJEjUf4TIFhf+cpXzG9+8xufc11dXW1+//vfD2yzfft2M378+FGPdfLkSVNYWBitUjFG/q5rY0Ifu41h/LY6f9f1UMGM28YwdlvZsWPHTG5urvnzn/9sWlpazLe//W3zxS9+kfE6AQUal+04XhPY46i3t9fk5OQYt9sd9D7PPPOM+fznP288Ho8xxpgtW7aYu+66K1olIkouXLhgCgoKAv5S4LV69WpzySWXmIkTJxqn02keeOAB09XVFZsiERJ/v+y98cYbJjc313z00UfGGGP2799vrrnmmlGP9dBDD5mvfvWrA6+fffZZ89hjj0WlboTun//8pzHGjPiL/bp168yVV1456rH++te/mkmTJpkpU6aYrKwsc+edd5q2trZIlosx8HddhzN2G8P4bXWjXdfBjtvGMHZbWaCwxnid+AKNy3YYr5kSH0eHDh2Sx+PRrFmzNH78eC1cuFD//ve/R9znwIEDuuGGG+RwOCRJc+fO1Z49e2JRLiJo06ZNuvrqqzV16tQRtzt69KiuvfZa7dq1S2+//ba2bdumZ555JjZFIiTr16/X8uXLfd47cOCA5s2bp6ysLEn9axobGhpGPdaBAwd04403DrzmOreW0tLSEb/f09OjVatW6YEHHhj1WEeOHNFVV12lN998U7t371ZTU5MeeeSRSJWKMfJ3XYczdkuM31Y32nUd7LgtMXZb2aJFi/SDH/xg4PXRo0f1uc99jvE6wQUal+0yXhPY46ihoUEzZszQK6+8ooMHDyotLc3nLxF/XC6Xz6CSk5Oj06dPR7tURNjzzz8f1F8Ozz//vDZv3qwZM2bo6quv1s9+9jO99tprMagQofL3y97Q69XhcCg1NVXt7e0jHovr3N4qKys1YcKEoNbEPfLII9q2bZuuuuoqXXHFFXrqqae4xi3E33UdztgtcV3bXbDjtndbxm7rGxzWGK8TW6Bx2S7jdVpMPgV+3XXXXbrrrrsGXq9du1alpaVyuVzKycnxu09aWpoyMjIGXmdmZqqzszPqtSJyjh07pmPHjmnBggUh71tQUKBTp05FoSpEw9DrVfr0ms3NzQ16P65z+9i+fbvWrFmj3bt3a9y4cSHvX1BQoHPnzqm7u3vYzw6sIZyxW+K6trOxjNsSY7dVDQ5rjz/+OON1ggo0LttpvOYOu4UUFBTI4/Goubk54DZ5eXk6c+bMwGu326309PRYlIcI+ctf/qJFixYF9ZfD/PnzdeLEiYHXtbW1KikpiWZ5iKCh16sU3DXLdW5PTU1NWrx4sdasWaOysrKg9rnzzju1a9eugde1tbX6zGc+Q1i3kWDGbonr2s5CGbclxm478Ia1TZs2ady4cYzXCSrQuGy38ZrAHkcrV67Upk2bBl7X1tYqJSVFxcXFAfcpLy9XbW3twOt9+/ZpypQpUa0TkVVTU6Prr7/e570PP/xQfX19w7a9/PLLdf/99+sf//iH/vjHP2rVqlVatmxZjCrFWA29XpuamtTd3a28vLyQ9uM6t74LFy5o0aJFuvXWW3X77bfr/PnzOn/+/EBbIJfLpd7e3mH7XXHFFVqxYoV27dqlLVu26JFHHuEat7hwxm6J69rO/I3bEmO3XfkLa4zXiSfQuGzL8Tomj7aDX6+88oopLS0177zzjnn77bfNZZddZpYsWWKMMaajo8P09PQM2+fMmTMmMzPTbNu2zfT09JiFCxeaH/3oR7EuHWHq7Ow06enp5v333/d5X5LZt2/fsO3b29vNbbfdZsaPH29KSkrM2rVrY1QpwqUhT5OeNGnSQGuYe++91yxatGhg2/b2dvPxxx8PO8b+/fvNhAkTzMGDB43b7TazZs0yTz/9dEzqR/AGn+stW7YYScO+vN8vKSkxb7zxxrBj9PT0mKVLl5oJEyaYwsJCU1VVZXp7e2P3h0BQBp/LkcZuYxi/7U5DnhIfaNz2bsvYbS+dnZ2mrKzM3Hfffcbtdg989fT0MF4nmEDj8rPPPmu78ZrAHmc//elPjdPpNHl5eWb58uXm/PnzxpjAPyzG9LcfGDdunMnNzTWlpaWmpaUlhhUDGMnQX/a2bt1qsrKyTH5+vpk0aZI5fPiwz7b+ftkzxphHH33UpKenm5ycHDNnzhzT2dkZ5coBBDL0ug40dhvD+A1Y2Uj/uMp4DatyGPPJ/X/YSlNTk44cOaLrrrtOF110UbzLATCClpYW7dmzR/PmzVN+fn7Q+zU0NOjUqVP68pe/zJo4IEEwfgPWxXgNKyKwAwAAAABgQTx0DgAAAAAACyKwAwAAAABgQQR2AAAAAAAsiMAOAAAAAIAFEdgBAICOHj2q06dPq7e3N96lAACATxDYAQCAvvnNb2rKlCn6+c9/Hu9SAADAJwjsAABAEyZMkCRdeumlca4EAAB4EdgBAICysrIkSU6nM86VAAAAr7R4FwAAAOLP4/FIktLT08Pav6WlRddff/2Y63jrrbdUWlo65uMAAJAICOwAAGAgsPf09IS1f2pqqo4ePTrmOhwOx5iPAQBAomBKPAAAkMvlkiS53e6w9s/IyJAk5efnyxgT8ldJSYnPcQAAAIEdAABIOnHihCSpvb09rP1TU1MjUkekjgMAQCIgsAMAkOTOnz8/ENQbGxvDOkakgnZKCr+aAADgxagIAECSq6urG/jvHTt2xLESAAAwGIEdAIAkt3PnzoH/PnTokPbt2xfHagAAgBeBHQCAJOe9q7506VJJ0qpVq+JZDgAA+ASBHQCAJHb69Gnt3LlTGRkZWr16tSZPnqxXX31VH3zwQbxLAwAg6RHYAQBIYs8995w8Ho/uuOMOOZ1OPfjgg+rr69NPfvKTeJcGAEDSI7ADAJCkWltbtXbtWknSj3/8Y0nSD3/4Q+Xk5Gjr1q1655134lkeAABJj8AOAECSWrlypTo6OnT77bervLxcknTxxRfr0UcflSTdc889YfdlBwAAY0dgBwAgCb3++uv605/+pKysLD311FM+31uxYoVmzJihkydPaunSpfJ4PHGqEgCA5EZgBwAgyezfv3/gifBPP/20pk2b5vP99PR0bdq0Senp6dqyZYu+//3vE9oBAIgDAjsAAEnkwIED+trXviaXy6UlS5Zo2bJlfrebPXu21qxZI0nauHGj7rjjDnV0dMSyVAAAkh6BHQCAJLFlyxZdd911amlp0c0336w//OEPI25/77336oknnpDUP4V+1qxZevfdd/1ua4yRJJ07d04OhyPkr+PHj0f2DwsAQAJwGO8ICwAAEtLZs2e1cuVKbdiwQZL0jW98Q5s3b1Z6enpQ+//2t7/VihUrBqbF33bbbXriiSd0xRVXDGxz/vx5ZWdnKzU1VdOnTw+5xsbGRn388cdqbm5WYWFhyPsDAJCICOwAACSwbdu26Vvf+pZcLpccDocef/xxVVVVyeFwhHScHTt26Hvf+55OnjwpSXr55Ze1ZMmSge+3t7crLy9P+fn5Onv2bMh1Tp06VcePH9fx48f12c9+NuT9AQBIRGnxLgAAAETPjTfeqIqKCu3cuVMvvPCCFixYENZxbrjhBh0+fFhPPvmkjDE+YV2SOjs7I1CtdOHChYgcBwCARMAddgAAElxvb6+6urqUnZ0d71IAAEAICOwAAAAAAFgQT4kHAAAAAMCCCOwAAAAAAFgQgR0AAAAAAAsisAMAAAAAYEEEdgAAAAAALIjADgAAAACABRHYAQAAAACwIAI7AAAAAAAW9P8BFJZyNsxWFvwAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 生成预测值\n",
    "x = np.linspace(data['人口'].min(), data['人口'].max(), 100)\n",
    "# 根据参数估计值生成预测值\n",
    "f = w[0, 0] + (w[1, 0] * x)\n",
    "# 创建图形和轴对象\n",
    "fig, ax = plt.subplots(figsize=(12, 8))\n",
    "# 绘制预测值曲线\n",
    "ax.plot(x, f, 'r', label='预测值')\n",
    "# 绘制训练数据散点图\n",
    "ax.scatter(data['人口'], data['收益'], label='训练数据')\n",
    "# 添加图例\n",
    "ax.legend(loc=2)\n",
    "# 设置x轴和y轴标签\n",
    "ax.set_xlabel('人口', fontsize=18)\n",
    "ax.set_ylabel('收益', rotation=0, fontsize=18)\n",
    "# 设置图标题\n",
    "ax.set_title('预测收益和人口规模', fontsize=18)\n",
    "# 显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于梯度方程式函数也在每个训练迭代中输出一个代价的向量，所以我们也可以绘制。 请注意，代价总是降低 - 这是凸优化问题的一个例子。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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yHSbiIgIHTlyRCdOnJAknTx5UlLevgBp1apVhnlZjVeQmJio+Ph4GWN06tQpJSUlKTQ01HN7Osn6UiQ8PNwzqN/tt9+uhx9+WHPnztUtt9yilStXSpJatmyZ61oBAIUXp9kDALxG2ijzp0+fVlxcnGJjYxUbG6ujR496Op4HDhzwzI+NjVV0dLSio6MVFRXlOd08M2vWrNGoUaMUHBysV155RXFxcUpJSclyfbfbnSG8ZmbatGlatmyZGjRooEcffTTdspEjR6pu3br666+/NHPmzJz/InLh77//VkJCgho0aJCn7WNjY3XnnXdq7dq16tSpkxYvXqy+ffvqmmuuUUhIiJYvX66nn35ax44d06lTp3TkyBHPo0+fPpKk77//XkeOHNHx48cVGxvrub3ahTp48GCm89NuK5j25UWpUqU8YTqt832utPllypSRJM+lBcePH890/WXLlum5557T4sWLMyxLG78gJz766CPFxcXp+PHjatKkiYKDg7V161bP7/Cjjz6SJHXu3NnzJUq1atXUokULffbZZ9q6dauWLFmiOnXqqHz58jl+XQBA4UeYBwB4jZ07dyoxMdFzP/MDBw7owIEDuvnmmyVZ3c+QkBBt377ds+y///7TqVOndPr06QzXK6f57bff1KFDByUnJ6tOnTpq1KiRSpQo4bl/e2YPf39/FSlSJN1p5edat26dnnjiCQUHB+uDDz7IMABdQECApk2bphdffFH3339/vv2e9u7d6zm1/pdffpGUebc4J3bt2uUJrAsWLNDw4cP10UcfKSUlRR07dlTNmjUVHh6u8PBw/f77754u8blOnz6tF198McNp5hdi/fr12r9/f7p5//33n2c0+IYNG0qSihUr5rkEIi0cn+3HH3/UkSNHFBAQ4DlVPe3nsmXLPNemn+3NN9/UmDFj9Pvvv+fLe/nhhx+0cuVKDR48ON0ggBMnTpSfn58eeeSRdOs/+uijSkhIULt27ZSYmKh77703X+oAABQenGYPAPAKkyZN0siRI7Vq1ap015evXLlSn3zyiSpUqKBBgwZp7NixeuyxxzRjxowc7Xf16tXq1KmTTp06pXHjxiksLEzvvPOO51T+gIAA7dy5U0ePHlXdunU9I5cnJycrISFBISEhme53586d6tChg+Lj4/Xmm29m2Rlv3bq1WrdunW7eubdUyw23262+ffvqv//+08aNGz23ievQoUOG9XKiUaNGevTRR3Xy5Ek1b95cjRs31pVXXukZJT5NQkKC+vTpo927d+ubb77JcBu5Bx54QO+9955iY2M9g9FdqMTERPXq1Uuff/65ypYtq6ioKPXr108JCQm67LLL0l1DPnLkSHXp0kWvvPKKqlWrlm40+7QzCAYOHOg5vrfeeqvq1KmjHTt2qEuXLnrvvfdUqVIlGWM0a9YsLV26VP7+/urevXu+vJe02xJOnz5dmzdvVqtWrRQSEqIlS5aoe/fuGQa369y5sy699FLt2bNHoaGh6t+/f77UAQAoRAwAAA5WtWpVI8m4XC5TqlQp8+OPP3qW7du3z5QvX95IMjNnzjTx8fGmZs2aRpKZMmXKefc9depUExgYaCSZ559/Psv1+vbtaySZTz75JMd1d+vWzUgyd999d7r5kkzr1q0z3Wb06NFGkunWrZt56KGH0j0kmRo1amT5es8++6yRZBo0aGAkmV69epl9+/aZgIAAU716deN2u9Otf9VVVxl/f/9085o2bWouueSSHL2/w4cPm5kzZ5rly5cbY4y5++67jSTTpk0bk5iYaIwxZsiQIUaS2bp1qzlw4IApU6aM8fPzM9999126faX9fkuVKmUaNGiQ5WPlypXGGGNmzZplJJmmTZua4sWLm4CAAFOjRg3j7+9vJJkSJUqYX375JcvfkSQTFhZmqlSp4nl+4403mvj4+HTr79y507OOn5+fufTSS02pUqU8/z1OmjQp0/cxa9asTH9naa+VmeTkZLN69WozZswY07p1axMcHOxZ/7rrrjNLlixJdwyjo6PNVVddZSSZKlWqmCNHjmR9sAAAjkSYBwA41pEjR4yfn58nsGzbts2zbN++febyyy83ksztt9/umb9582YTEhJiJJlHHnnExMTEZNjv4cOHTdeuXT0h7XzBPy9hPjk52TzzzDMZAmJ2YX748OFGklm1alWGZZJMRERElq933333ecLfVVddZeLj482gQYOMJPPSSy9lWL9OnToZwvw111xjqlSpkun+ExMTzerVq83o0aNNo0aNjMvlMpLM66+/7vkS4pprrkn3+z47zBtjzPz5840kU7lyZRMZGelZL+33e77HwoULjTFnwnzfvn3Nhg0bzPXXX2+KFStmSpUqZbp162a2b9+e5e9p+fLl5uabbzZhYWGmSJEi5qqr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q1atUlxcnKpXr65evXplWL5r1y598/+dZJfLlde3AenMqfZLl1odegAAAABAoXTBYX758uVyu9264YYbVLdu3XTLSpUqJcnqrktSiRIlVLp0aZ08eVLdunXzzM/OjP/vEj/00EPy9/fPsHzMmDFyu90KDw/XzJkz9fXXX1/oW/JddepILVpIqancpg4AAAAACrELDvOzZ8+WJA0ePDjDsrQwf/a17u+9956qVKmijRs3asyYMdnue//+/friiy8UEhKSoesvSb/++qsWLFigqlWrauPGjapatar69++v3bt3X8hb8m2DBlk/331XcrvtrQUAAAAAkKkLCvM7d+7U8uXLVapUKXXp0iXD8tKlS0uSoqOjPfPCwsL06quvqnXr1rr//vuz3f8bb7yh1NRU9erVSyEhIemWJSQkqH///jLG6I033lCVKlU0d+5cHT9+XDfddJP27dt3IW/Nd91xhxQaKu3dK61aZXc1AAAAAIBMXFCYnzJliowxateunYKDgzMsL1OmjCTp1KlT6eb36NFDK1euVOXKlbPc9/79+zV16lRJyrCeMUb9+/fXjh07NHToUHXq1EmSdN111+mdd97R/v371bJlS61Zs+ZC3p5vKl5cShubgIHwAAAAAKBQynOYP3r0qOcU+8yCvHQmzEdGRqabn5CQoNWrV+uFF15Qy5YttX379gzbPvnkkzp9+nSG+ampqbr33nu1YMECNWvWTK+//nq65QMHDtSLL76of//9V61atdJLL72kpKSkvLxF35V2qv3ChdLx4/bWAgAAAADIIM9h/tlnn83yvu9p0sL8vn37NGPGDA0dOlSNGzdWaGioWrdurVGjRmn16tX6/vvv0233/fffa8GCBZ5R8NNERUWpS5cumj59uq688kotXrxYQUFBGV535MiRmjp1qowxGjlypGrXrq05c+bk9a36nquukq6+WkpKkvi9AQAAAEChE5CXjdavX+8ZZf5sJ0+e1Pbt27V161Zt3LhR69atkyTt3r3bM0BelSpV1LFjRzVu3FhXX321GjRooIoVK3r2cfjwYfXs2VPGGA0YMEAzZ86UJG3cuFFdunTRvn37dMUVV2jp0qWeLwvOlpKSouPHj6tHjx6qUaOG+vfvr7179+b4Vnj4f4MGSUOHWgPhPfywxG3/AAAAAKDQyHWYj4uLU9++feV2u9WvXz+9//+3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4O/fxadMRrM/9zPKGD6n7JDV37ekpCSf+WwizDvYF198YYoVK2bKlCljypYta7Zt22Z3ST5p0aJFRlKGx969e82TTz5pwsLCTOnSpc2DDz7oud+oMRw/O2R1PLI7Fm+99ZYJDAw0pUqVMtWrVzdHjhyxq3yfER8fb4KCgsyOHTs885KSksyAAQNM8eLFTYUKFcyYMWNMcnKyZznHqeCc+z+2ef3389RTT5mgoCATGhpqGjVqZOLj4wvybXi1s49Rdp9RxmT9d9EYPqcutnP/LeX1WPD37+I69zhl9hllDJ9Tdsju75uvfDa5jDGmAE8EQD47cuSIfvvtNzVr1kxlypSxuxzkEsev8MjuWOzdu1c7d+5Uy5YtVaJECZsqxPlwnOyT138/27dv18GDB9W6detCf12ir+JzqvDgc8r5OE4Fyxc+mwjzAAAAAAA4DAPgAQAAAADgMIR5AAAAAAAchjAPAAAAAIDDEOYBAAAAAHAYwjwAAAAAAA5DmAcAoBDL6qYze/fuVVJSkuf5hAkTVKlSJT366KN5ep3PP/9cq1evzjD/r7/+0pEjR7KsIz9s3rz5ou0bAABvRZgHAKAQSkhI0GuvvabOnTtnuvzpp59W2bJl9fnnn0uSSpQoocOHD+c5dI8fP14tW7bU448/nuF1KlasqBdeeMEzLzU1VX/++WeeXudckZGRatSokRo2bKg//vgjT/tYtGiRkpOTJUn//vuvAgICdM0113iWz58/XwcOHPA8f+GFF9S7d2+tWrXqwooHAMBGhHkAAAqhv//+W8OHD9eXX36Zacf8p59+UlJSkm666SZJUrFixSRJpUqVyvVrHT9+XL///rskacCAAemWlSxZUpLk52f9L0NsbKzatGmj5s2ba+/evdnuNzExUe+//3626yxfvlypqalKSUlR3bp1c137559/ri5duqh///6SpMDAQKWmpiowMFCSdOzYMfXr109dunTxbPPzzz9r7ty52rNnT65fDwCAwoIwDwBAIVS3bl317NlTktJ1xSVp27ZtOnDggG666SaFhYVJkie8lihRItevtXz5crndbt1www0ZAnXalwOJiYme/ZcuXVonT55Ut27dPPMzc8stt6h///6aOXNmlussXrxYkjRy5EjPFwa50aVLF/Xt21dz587V5MmTPb+H4OBgSdLUqVOVlJSksWPHerbZuHGjAgIC1K1bt1y/HgAAhQVhHgCAQmrkyJGSpGXLlmnr1q2e+UuWLJEk/fLLL6pdu7Zq166tESNGSJJefvllz7zatWurevXquuWWW7J9ndmzZ0uSBg8enGFZWpiPi4vzzHvvvfdUpUoVbdy4UWPGjMlyv3369JEkPfDAA5leF3/q1Cl9/vnnqlSpknr06JFtjVlxuVyaNm2amjdvrtKlS3vCvJ+fn9xut7766itdddVVat++vSRp69atOnr0qK699to8ncUAAEBhEWB3AQAAIHNXXHGFmjVrpsOHD+vQoUOqV6+eJGnevHmSrOvNIyMj021z9OhRHT16NN288uXLZ/kaO3fu1PLly1WqVKl0p6KnKV26tCQpOjraMy8sLEyvvvqqpk2bpvvvvz/Lfffr109r1qzR9OnT1aNHD23YsEEhISGe5R9++KFOnz6t06dPKygoKMv9pJk2bZqGDh2abt6DDz6ookWL6sYbb9SePXv08ssvS5L++ecfPf/887rlllt07NgxPf744+rUqZPWrVsnSWrXrl2G/aempiouLk7FixeXv7//eesBAMBOLnMxh6cFAAAX5Ndff1XdunU9IXj9+vVq0qSJWrRoke5a+g8++ED9+vXTjBkzdM8990iSkpOTFRUVpaioKF166aWZ7v++++7TW2+9pbvuukvz58/PsPyzzz7THXfcoTvuuEOffPJJumVut/u8p8afPn1aTZo00R9//KH//e9/nrMAjDGqV6+etm3bppo1a2a5n9TUVO3evVuSdODAAVWuXDndcpfLle3rn+2NN97QwoULtXLlymzX27Fjh2rXrp3j/QIAYAc68wAAFGJNmzZN93zChAmSzpzCniYqKkrSmQHrJOs6+vDwcIWHh2e676NHj3rCddo15ucqU6aMJGU4AyAhIUHr1q3Tjz/+qGXLlumdd97JdAC7okWLas6cOWrSpInmzJmjTp066Y477tAXX3yhbdu26brrrtNPP/2U1dvXypUrddNNN+nqq6/OEOQl67T54OBgBQcHa/DgwVq2bJkkqVWrVvroo48UFxenokWLKjExUbGxsXrooYcUFhamfv36efaxf/9+LVy4UE2bNtWVV16p0NDQLOsBAKCwIMwDAOAg7733nq677roM15inhe200+Jz4tlnn013LXxm0sL8vn37NGPGDP3+++/asGGDNm/e7LkdnCR9//33WY5G37BhQz3yyCPavn27WrVqpZSUFD399NOSpHHjxkmSUlJS5Ofnl6FDnzY+wK233prpvq+88kolJibq3nvv1bJly9S/f3/NmjVLAQEBGjFihHbu3Klly5apUqVKmjBhgtxut2677Ta9/vrrnn3Mnz9fCxcu1B133JHh1nwAABRWhHkAAAqZ1atXa8+ePSpSpIjn2u2OHTt6Tim/9957FRAQkO4098OHD0vKeH28MUbJycmKj49XSEiIZ3/r16/XjBkzMrz2yZMntX37dm3dulUbN270XGO+e/duzwB5VapUUceOHdW4cWNdffXVatCggSpWrJjte3r++ecVFBQkl8ul8ePHa/v27br11lvVqlUrSdKmTZvUsmVL1apVS19//bVnfwsXLpSUdZj/448/1L9/f23YsEFDhw7V+PHjNWvWLCUnJ6tTp0768MMP1bZtWy1btsxzm7xDhw6l20fa8+zGFgAAoLAhzAMAUMgsWLBAU6dOTTfv33//1YoVKzz3U8/KlVdemeWytGvB4+Li1LdvX7ndbvXr188TcpOTk3XppZfq1KlTnm3Cw8MVGBio5ORkzZ49W23btlWFChVy/Z7STuOPjIzUu+++q+DgYL322mue5UWKFFFCQoL27dvn2f+mTZv0zz//qGrVqmrcuHGGfb7zzjsaNmyYjDF6/fXX9dBDD3kG/0tMTFS3bt00adIkPffcc5owYYJ27twpSenuDCBJBw8elCRVq1Yt1+8LAAC7EOYBAChk2rdvr4oVKyo4OFhvv/229uzZI8m6Hv6qq65ScHCwAgMD5e/v7+nMr1q1SpJ04403pttXUlKSEhISdPr0aQUHBys1NVW9evXSjh071KZNGw0YMMAT5gMDAzV06FBFRkbquuuuU/PmzVWjRg21bt1aP/74o8qVK5enIH+2UqVKaceOHfr5559Vs2ZNz3y32y1Jqlq1qucMhIYNG+qff/7JcL1+miFDhujgwYPq2rWrGjZsqKSkJI0ePVrDhg3T7bffLska7b5Hjx66+eabJUlt2rTRihUr9M8//3jCe9pZDWfXAwBAYUeYBwCgkLn11ls9p5UvWbLEE+Y7d+6szp07Z1j/u+++08qVK1WiRAm98cYbqlOnTpb7NsaoVq1aKl26tGbNmqV//vkn3fIXX3wxwzbXXXedfvzxR/3888+Z3tItJ44cOaIH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",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建图形和轴对象\n",
    "fig, ax = plt.subplots(figsize=(12, 8))\n",
    "# 绘制代价随迭代次数的变化曲线\n",
    "ax.plot(np.arange(iters), cost, 'r')\n",
    "# 设置x轴和y轴标签\n",
    "ax.set_xlabel('迭代次数', fontsize=18)\n",
    "ax.set_ylabel('代价', rotation=0, fontsize=18)\n",
    "# 设置图标题\n",
    "ax.set_title('误差和训练Epoch数', fontsize=18)\n",
    "# 显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 多变量线性回归"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "练习还包括一个房屋价格数据集，其中有2个变量（房子的大小，卧室的数量）和目标（房子的价格）。 我们使用我们已经应用的技术来分析数据集。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>面积</th>\n",
       "      <th>房间数</th>\n",
       "      <th>价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2104</td>\n",
       "      <td>3</td>\n",
       "      <td>399900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1600</td>\n",
       "      <td>3</td>\n",
       "      <td>329900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2400</td>\n",
       "      <td>3</td>\n",
       "      <td>369000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1416</td>\n",
       "      <td>2</td>\n",
       "      <td>232000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3000</td>\n",
       "      <td>4</td>\n",
       "      <td>539900</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     面积  房间数      价格\n",
       "0  2104    3  399900\n",
       "1  1600    3  329900\n",
       "2  2400    3  369000\n",
       "3  1416    2  232000\n",
       "4  3000    4  539900"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "path = 'data/regress_data2.csv'\n",
    "data2 = pd.read_csv(path)\n",
    "data2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对于此任务，我们添加了另一个预处理步骤 - 特征归一化。 这个对于pandas来说很简单"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>面积</th>\n",
       "      <th>房间数</th>\n",
       "      <th>价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.130010</td>\n",
       "      <td>-0.223675</td>\n",
       "      <td>0.475747</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.504190</td>\n",
       "      <td>-0.223675</td>\n",
       "      <td>-0.084074</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.502476</td>\n",
       "      <td>-0.223675</td>\n",
       "      <td>0.228626</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.735723</td>\n",
       "      <td>-1.537767</td>\n",
       "      <td>-0.867025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.257476</td>\n",
       "      <td>1.090417</td>\n",
       "      <td>1.595389</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         面积       房间数        价格\n",
       "0  0.130010 -0.223675  0.475747\n",
       "1 -0.504190 -0.223675 -0.084074\n",
       "2  0.502476 -0.223675  0.228626\n",
       "3 -0.735723 -1.537767 -0.867025\n",
       "4  1.257476  1.090417  1.595389"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data2 = (data2 - data2.mean()) / data2.std()#标准化数据\n",
    "data2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在我们重复第1部分的预处理步骤，并对新数据集运行线性回归程序。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "在第0次迭代中，cost的值是：0.48054910410767177。\n",
      "在第100次迭代中，cost的值是：0.1820944380133389。\n",
      "在第200次迭代中，cost的值是：0.14793824957386828。\n",
      "在第300次迭代中，cost的值是：0.1377591345050687。\n",
      "在第400次迭代中，cost的值是：0.1336603777249612。\n",
      "在第500次迭代中，cost的值是：0.1319404652949001。\n",
      "在第600次迭代中，cost的值是：0.1312154035241262。\n",
      "在第700次迭代中，cost的值是：0.13090958448719192。\n",
      "在第800次迭代中，cost的值是：0.13078058791637864。\n",
      "在第900次迭代中，cost的值是：0.13072617594607355。\n",
      "在第1000次迭代中，cost的值是：0.13070322444853416。\n",
      "在第1100次迭代中，cost的值是：0.13069354328325838。\n",
      "在第1200次迭代中，cost的值是：0.13068945967339024。\n",
      "在第1300次迭代中，cost的值是：0.1306877371669466。\n",
      "在第1400次迭代中，cost的值是：0.13068701059694002。\n",
      "在第1500次迭代中，cost的值是：0.13068670412262964。\n",
      "在第1600次迭代中，cost的值是：0.13068657484877844。\n",
      "在第1700次迭代中，cost的值是：0.13068652031980799。\n",
      "在第1800次迭代中，cost的值是：0.13068649731895682。\n",
      "在第1900次迭代中，cost的值是：0.13068648761697355。\n"
     ]
    }
   ],
   "source": [
    "# 添加一列全为1的列\n",
    "data2.insert(0, 'Ones', 1)\n",
    "# 设置X（训练数据）和y（目标变量）\n",
    "cols = data2.shape[1]\n",
    "X2 = data2.iloc[:, 0:cols - 1]\n",
    "y2 = data2.iloc[:, cols - 1:cols]\n",
    "# 转换为数组并初始化theta\n",
    "X2 = X2.values\n",
    "y2 = y2.values\n",
    "w2 = np.zeros((3, 1))\n",
    "# 在数据集上进行线性回归\n",
    "w2, cost2 = batch_gradientDescent(X2, y2, w2, alpha, iters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.13068648355046528"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 获取模型的代价（误差）\n",
    "computeCost(X2, y2, w2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们也可以快速查看这一个的训练进程。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/oAAALLCAYAAABJt/kdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7AklEQVR4nOzdd3RU1d7G8WfSAyQhoUovIgqCKF0poihKU7AiKlUQxXK5chW9FlTaK6KAoJciWChWRFAEvYiKohAEBAIoSIcgJT1k0vb7x9wZCSkkIWQy53w/a82aySl7fidHMj6z99nHYYwxAgAAAAAAluDn7QIAAAAAAEDJIegDAAAAAGAhBH0AAAAAACyEoA8AAAAAgIUQ9AEAAAAAsBCCPgAAAAAAFkLQBwAAAADAQgj6AAAAAABYCEEfAAAAAAALIegDAFBCvvzySzmdznzXz5gxQ0lJSaVYkW/65JNPlJyc7O0yAADwWQR9AIAljRkzRm+99Vapvd/EiRPVo0cPjR49Os/127Zt08iRI1W7dm1t3bq12O+TkJCg7777TmPGjFGzZs2UkJBQ7LYk6fPPP9c333xzXm0UhtPp1L333qvNmzcXuF1aWpruvfde1alTR3/++ecFr8vXJScna8WKFZ6fx40bp4CAAE2fPl2SdOrUKb333ns5voC65ppr9Mwzz+jYsWOlXi8AoHQQ9AEAlnPw4EHNnDlTI0aM0LPPPptj3axZs+RwOAr92LBhQ6He8+6771ZYWJjeeOMNffvtt7nWv/vuu5Kknj17qlmzZudsb8uWLZo1a5bGjRun4cOHq1u3bqpfv74qVqyoa6+9VhMnTtS2bds87RZHfHy8BgwYoB49emjx4sXFbqcwvvjiCy1YsEBdu3ZVYmJivtt98803SktLU6tWrdSgQYMLWpMV3HPPPerdu7e+/PJLSZK/v7+ysrIUFBQkyfXf3f3336/Zs2dLko4dO6affvpJr732mkJDQ71WNwDgwgrwdgEAAJS02rVr64cfflCPHj308ssvKy4uTtOnT5fD4VD58uUlSTfffLMuueSSfNv48ccfFR0d7dn+XOrVq6ennnpKS5YsUdWqVXOsO3XqlN58801FRUXp9ddfL1R7v//+u4YPH+752eFwyBijatWq6d5771WjRo1Ur149NWzYsFDt5aVixYr69NNP1bt3b91zzz2Ki4vTiBEjcmzzj3/8Q9u2bdOECRPUqlWrfNtq0qSJYmNjderUqTzXv//++5Kkl156SeHh4fm28/HHH0uSHn/88UIdw8CBA/XOO+8UuE3dunW1b9++QrXnLe7jmDdvngYOHFjo/d544w1dc8016t+/vzZv3qzAwEBJUnBwsDIzM/XGG2+oTp06GjZsmCTp119/lSR17969wPMAAPBtBH0AgCU1b95c3333nTp06KBZs2Zp4MCBatWqlQICXB99999/v+6+++5893/qqacUHR3tCU5neuutt/TCCy8oJCREwcHBcjgckqT09HQZY3Tbbbfl2D45OVnJyckKCwtThw4dJEnGGGVnZ8vpdKpp06Y5hl9LriA2bdo01a1bV/Xr11fDhg1Vvnx5XXrppZo8eXKumsaOHatFixblezzh4eFav359ruVdunTRypUrdeONN+rhhx9WUFCQhgwZ4lmflJSkb775Rv/+9789y5544gkdP348R8AuV65cvl+KHDhwQJ9//rmaN2/uCZyS9NBDD2nJkiUKDQ1VYGCgHA6HJ5D/4x//0KhRozzbZmVlKT09XcnJyTpw4ECu94qMjFSdOnXyfP8aNWrk+3vxdXXq1NGcOXM0ceJEOZ1Oz3+vfn5++uWXX/TXX3/p5Zdf9vTwuy/T6NGjh9dqBgBceAR9AIBlNWjQQF9//bX279/v6Y328zv/q9acTqfi4uIUHBys4OBg+fv751iflJSkkydPKjAwUFFRUZKkatWqSXINl5ek7OxsZWdnKz09Pc8J+sqXL69HHnmk0DUlJiZq165d+a6vXr16vuuuvvpqLV26VN27d9eECRPUr18/lStXTpI8w7vPHOb99ddfa/v27TmCfkBAQK7fg9uMGTOUlZWlKVOmeLbZvHmz0tLSlJCQoPT0dAUEBMjpdMrpdKp8+fK55h7IyspSZmamUlJSZIzJ9R69e/fW/Pnz8z1GK/r555/10UcfKSgoSB07dtTChQsVHR0tSfrss8/UvHlzPfDAA9q3b58ef/xxTZo0SStXrpQk3XjjjbnaS09PV1paGj39AGABBH0AgKU1bdpUTZs29fycmZkpSVq+fLkOHTqU737u3m/39md67LHH9Nhjj+W774oVK9S9e3fdeuut+vDDD4tbepGEhIRIkr799ltde+21OdY5HA4FBwcXuP/111+vxYsXq2XLlp6Qf2a77pEQkjy9w4WRkJCgWbNm6cYbb9T1118vSdq0aZNatmypBx54QCkpKZ4REU888YReffVVffrpp3kGUeS0c+dOTZkyJc91S5Ys0ZIlS3IsGzZsmLZv3y5JqlWrVp77tW3bVj///HPJFgoAKHUEfQCApaSmpubZy+6WkpIiSVqwYIEWLFhwzvbc2xfFL7/8IskVmkrLmUG8OOslqU+fPrmW5XXpQn6/27xMmjRJSUlJeuWVVzzLpk6dKmOMwsLCPCE/IyNDCxYsUOPGjXXDDTcUun07u+WWW7R9+3aFhITo6NGj6tGjh2ckxMyZM9W1a1eFhYUpMzNTp0+f9nzp1L59e7Vp08bTzldffaVdu3ZpwIAB5zXnAwCg7CDoAwAs5c4779QXX3yRI4zGxcUpLCxMkjRkyJAiTXaWX0BOTEzUJZdconLlyuXq4T569KgkacqUKZ7Zzs9kjFFmZqbS0tLUr1+/XNfcr169Wvfdd59CQ0Nzvf/69et16aWXyhijtLQ0paWl6fXXX/cE5sJ66aWXFBcX57k2XnLdEcA9h8DZx5+dnV2k9iVpw4YNevXVV/XAAw+oefPmkqTt27fr/fff18UXX6zOnTtr8ODBCg0N1cmTJxUbG6saNWroH//4h6eNRx55hPCZj8jISEVGRiomJkYDBgxQWlqa7rnnHi1cuFDx8fG69tpr9fDDD+vpp5+WJM8XWy+99JJndIUkdevWTbt27dLkyZNVuXJlrxwLAKBkEfQBAJZSqVIl1a9fXyEhIdq9e7cyMjJyTNzmcDgK1bt9LtnZ2Tp58qRSUlIUGhrqufbfGKPExET5+fkpKyvLc03+mbKyspSVlaW0tDSlpqbmWp+RkaHExESlp6d7vrA4ffq0JNelBPHx8Z4vC06fPq309PQi1//JJ59oy5YtOZbVrl07V9BPS0vzHFdR9e/fX+np6YqJiVHv3r11+vRp7dy5U1lZWXrttde0f/9+LV68WOXKlVNCQoIcDocOHz6sxYsXKzExUadPn9a9995b5PctyPz58zVo0CANGDBAAwcO1NNPP63NmzcrJCRE1157rcaOHZvv7Q//+9//avLkyfr555/ldDp12WWXaciQIRo+fHieoxxOnjypSZMm6dNPP9XBgwdVvnx5tWnTRk888YS6du2ab40pKSl68cUX9eGHH+rYsWOqV6+ehg8frkcffTTHFzrGGM2dO1ejRo1Sdna2li9frh07dmjhwoWqUqWK2rVrp2eeeUZZWVm64YYbtGPHDknSkSNHcrzfkSNHFBAQ4JlPAgDg+wj6AABLOXOCuHr16unAgQOeEB4dHa1p06YpODhYQUFBeQ5Ld8vKylJ2drbS0tLUpEkT/fOf/8yxvmLFisrIyMi1n/v6/JtvvlnLly8v1jF069Yt1wR9jz76qKZPn66rr75aa9asybXPCy+8UKT3WLRokfz9/RUYGKipU6dq6tSpnuvxz+T+gqGoIwYk16UA//d//6cDBw6oUaNGio2N1aFDh3TzzTerZ8+ekqSHH35YsbGxqlevnnr06KHPPvtMkvTggw/qP//5T6HnA3jnnXfyvc1eXvMW/Prrr1q0aJGys7NVp04dHThwQEuWLNFXX32lL774Ql26dMmx/csvv6xnn31WkhQREaGoqCj9+uuv+vXXX/XZZ5/p888/z/H727Vrl7p27apDhw7Jz89P9evXV1xcnFauXKmVK1dqxowZeuihh3LVmpqaquuuu07r169XvXr1FBISoh07dnhuN+ieG+L06dO69dZbtWrVKjVs2FBLlixRs2bNtHHjRkl/Xwpx/fXXa82aNfr+++897/Hbb7/leM/Dhw+rTp06JTJRJQCgbCDoAwAs7czwcvjwYX3wwQcqV66c/P395e/vL4fDobi4OKWnpysqKkqBgYEyxuQI+l27dvUE/eTkZGVlZXnaODscTZ8+XZIKfXmAu2dfUr63p0tKSvLch15y9eR++eWX53WLtMsuu8zzumLFipLyvh7fXVtBX4rk55lnntGTTz6pqKgoZWdnq127dgoJCdHUqVNzbPfKK6/I6XRqzJgxudoobPgs6PZ6FSpUyLVs69atuvbaa/XRRx+pcuXKSkxM1L333qtly5Zp4MCB2rNnj2fkx9KlS/Xss88qMDBQM2bM0NChQ+VwOPTzzz/r7rvv1tdff61Ro0Zp5syZklzntE+fPjp06JC6deumuXPnqmbNmsrOztbMmTP1yCOPaNSoUbrjjjtUpUqVHHWNHTtW0t9fTmRkZGjQoEFasGCBZs6c6Qn6oaGhmjNnjt544w09++yzqlChgv773//qjz/+0OTJk3XTTTcpJCREX3zxhWJiYnTNNdeoSZMmiouL04YNGzzvl5aWpri4uBzX7AMAfB9f3QIAbOOWW27x3BrvxIkTOnbsmGJjY9WyZUtJ0sqVKxUbG6tjx47pxIkTOnXqlFJTU/X555972pg8ebIqVqyooKAgzxcFZz5WrFghSbrjjjtyrcvrERAQoAoVKujJJ5/Mt+7XXntNcXFxnp8HDBignj17as6cOSX6+8krVCcmJkrKOyyfS3h4uGc4+OzZs7VhwwY999xzatSokWeb6OhovfHGG7rhhhvOa/LC3r17a/PmzXk+3LdWPFNoaKgWLFjguSY9PDxc8+bNU/ny5XXgwIEcPeDjx4+XJI0ePVoPPPCAZ3RDu3bt9O6773qO7/jx45KkL774Qjt27FD16tW1ZMkS1axZU5Lr9zty5Ejdeuutateunfbu3ZurrpMnT2rZsmWeEQiBgYEaN26cJGnPnj05tq1du7YmTZrkOTezZ8/W3LlzFRgYqPr160tyfYmTmZmpVq1a6dlnn1X79u31888/e0ZqxMTESJKaNGlSpN83AKBso0cfAGB7x44dkyRVrVr1nNs2b95cgwcPVkhISI4e/ezsbM2aNUtOp1N33XVXgfetd3OPHHA6nWrdunWe2xw+fFj/93//pwoVKig5OVmSdO+992rBggV66KGH1LRpU7Vv376wh1pkO3fulKTzmqRt3759Gj16tNq0aaN//etfOdbdcccdSk9P15YtW3TppZd6lrvPSe/evRUUFKTMzEw5nU7dfPPNmjVrVrFrcWvTpo1q1KiRY1mlSpXUsmVLff/999q2bZuuu+46paamenrA77rrrlztdOrUSdWrV1dsbKx++ukn3XLLLfrxxx8luS7BCA0NzbXP2be9O1Pv3r1z9a67RypkZWXlWH7//fdrxYoVCgkJUXBwsA4ePChJmjFjhmd0gdvixYvVokULHTt2TJ9++qnWrFmjm2++2XMrvauvvjrfmgAAvoegDwCwhZSUFNWrV0/BwcEKDg7OMRR9//79kqSuXbvm6NXOzMxUenq60tPTddFFF2nTpk3q27ev+vbtm6v9SZMmyel06rrrrtPixYtLpGZjjIYMGaKUlBRNnDhRTz31lCTpxhtv1AsvvKDnnntOAwYMyDWpXknJysrS77//ripVqigiIqJYbbjvLJCVlaV3333XM2mdMUbp6em69dZb9frrr8vpdOaYuNDpdEpyjSgICAjw3KWgOLc7zEt+X8S4v+xxz5EQFxfnmYiwdu3aee5Tu3ZtxcbG6uTJk5KkU6dOSSrelyOdOnXKtSy/+RGcTqdSU1NljFF8fLzS09MVHh7uucWe5PrCpHLlyp4JBm+55RY9/vjjWrBggW6++WatXr1aktSxY8ci1woAKLsYug8AsAX3bPinT59WSkqKkpOTlZycrGPHjnl6Sg8dOuRZnpycrMTERCUmJiohIcEzhD0v69at07PPPqvg4GC98sorSklJUWZmZr7bZ2dn5wq2eZk5c6ZWrlypK664QqNGjcqxbsyYMWrSpIn++OMPzZ07t/C/iCL4888/lZaWpiuuuKJY+ycnJ+uuu+7Szz//rN69e2vZsmUaMGCAWrVqpbCwMK1atUrPPPOMjh8/rvj4eMXGxnoe999/vyRpzZo1io2N1YkTJ5ScnOy5Rdz5Onz4cJ7L3bdGdH+xERkZ6Qna7h7zs7mXV6pUSZI8lyucOHEiz+1XrlypF154QcuWLcu1zj1fQmF88MEHSklJ0YkTJ9SmTRsFBwdr69atnt/hBx98IEm69dZbPV+w1KtXT9dcc40++eQTbd26VcuXL9dll12matWqFfp9AQBlH0EfAGALO3fulNPp9Nyv/dChQzp06JBuvPFGSa5e07CwMMXExHjW/fXXX4qPj9fp06dzXR/ttnHjRnXv3l0ZGRm67LLL1LJlS1WoUMFzf/q8Hv7+/goJCckxVP1s69ev17/+9S8FBwfrnXfeyTUZXkBAgGbOnKnx48fr4YcfLrHf0969ez3D9X/66SdJefcyF8auXbs8YXbx4sUaPXq0PvjgA2VmZqpHjx5q1KiRKleurMqVK+vXX3/19C6f7fTp0xo/fnyuoevnY8OGDTpw4ECOZX/99Zdn1voWLVpIksqVK+e5rMIdnM/0/fffKzY2VgEBAZ7h7+7nlStXeq6FP9Mbb7yhsWPH6tdffy2RY/nuu++0evVqDRs2LMeEhJMnT5afn5/+8Y9/5Nh+1KhRSktLU7du3eR0OvXggw+WSB0AgLKDofsAAMt77bXXNGbMGH377bc5rmdfvXq1PvroI1WvXl0PPPCAXnrpJf3zn//U7NmzC9Xu2rVr1bt3b8XHx2vcuHGKiIjQf/7zH8/lAQEBAdq5c6eOHTumJk2aeGZYz8jIUFpamsLCwvJsd+fOnerevbtSU1P1xhtv5Nuj3rlzZ3Xu3DnHsrNvC1cU2dnZGjBggP766y9t2rTJc6u77t2759quMFq2bKlRo0bp1KlTat++vVq3bq3LL7/cM5u9W1pamu6//37t3r1bX331Va5b4Y0cOVJvv/22kpOTPRPjnS+n06n+/fvr008/VZUqVZSQkKCBAwcqLS1NF198cY5r1seMGaM+ffrolVdeUb169XLMuu8eeTBkyBDP+e3Zs6cuu+wy7dixQ3369NHbb7+tGjVqyBijefPm6YsvvpC/v7/uuOOOEjkW960VZ82apS1btqhTp04KCwvT8uXLdccdd+SaaO/WW29Vw4YNtWfPHoWHh2vQoEElUgcAoAwxAABYVJ06dYwk43A4TGRkpPn+++896/bv32+qVatmJJm5c+ea1NRU06hRIyPJTJs27Zxtz5gxwwQGBhpJ5sUXX8x3uwEDBhhJ5qOPPip03bfddpuRZO65554cyyWZzp0757nPc889ZySZ2267zTz22GM5HpJMgwYN8n2/559/3kgyV1xxhZFk+vfvb/bv328CAgJM/fr1TXZ2do7tr7zySuPv759jWdu2bU3dunULdXxHjx41c+fONatWrTLGGHPPPfcYSaZr167G6XQaY4wZPny4kWS2bt1qDh06ZCpVqmT8/PzMf//73xxtuX+/kZGR5oorrsj3sXr1amOMMfPmzTOSTNu2bU358uVNQECAadCggfH39zeSTIUKFcxPP/2U7+9IkomIiDC1atXy/HzdddeZ1NTUHNvv3LnTs42fn59p2LChiYyM9Pz3+Nprr+V5HPPmzcvzd+Z+r7xkZGSYtWvXmrFjx5rOnTub4OBgz/YdOnQwy5cvz3EOExMTzZVXXmkkmVq1apnY2Nj8TxYAwCcR9AEAlhQbG2v8/Pw8YWb79u2edfv37zeXXHKJkWRuueUWz/ItW7aYsLAwI8n84x//MElJSbnaPXr0qOnbt68nwJ3rS4HiBP2MjAzz73//O1d4LCjojx492kgy3377ba51kkzt2rXzfb+HHnrIEwyvvPJKk5qaah544AEjyUycODHX9pdddlmuoN+qVStTq1atPNt3Op1m7dq15rnnnjMtW7Y0DofDSDKvv/665wuKVq1a5fh9nxn0jTFm0aJFRpKpWbOmiYuL82zn/v2e67FkyRJjzN9Bf8CAASY6Otpce+21ply5ciYyMtLcdtttJiYmJt/f06pVq8yNN95oIiIiTEhIiLnyyivNtGnT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nmVZWVn6/fffC9220+nUuHHj1LdvX33yySd5bvPqq6/qpptu0pAhQ4p3APh76D49+gAAAADg08476J84cUK//vqrJGnw4ME51lX8Xy+xn5/rbZKTk9W1a1e1b99ee/fuLVT73377rVJSUlS/fn31798/1/pdu3bpq6++kiQ53PeCR9ExdB8AAAAALOG8g/6qVauUnZ2tLl26qEmTJjnWRf6vl9jpdEqSKlSooKioKJ06dUq33XabZ3lBZs+eLUl67LHH5O/vn2v92LFjlZ2drcqVK2vu3LlasWLF+R6SPTEZHwAAAABYwnkH/XfffVeSNGzYsFzr3EH/zGvr3377bdWqVUubNm3S2LFjC2z7wIEDWrp0qcLCwnKNFpCkX375RYsXL1adOnW0adMm1alTR4MGDdLu3bvP55DsiR59AAAAALCE8wr6O3fu1KpVqxQZGak+ffrkWh8VFSVJSkxM9CyLiIjQq6++qs6dO+vhhx8usP3p06crKytL/fv3V1hYWI51aWlpGjRokIwxmj59umrVqqUFCxboxIkTuv7667V///7zOTT7IegDAAAAgCWcV9CfNm2ajDHq1q2bgoODc62vVKmSJCn+rPB45513avXq1apZs2a+bR84cEAzZsyQpFzbGWM0aNAg7dixQyNGjFDv3r0lSR06dNB//vMfHThwQB07dtS6devO5/DshaH7AAAAAGAJxQ76x44d8wzbzyvkS38H/bizwmNaWprWrl2rl19+WR07dlRMTEyufZ966imdPn061/KsrCw9+OCDWrx4sdq1a6fXX389x/ohQ4Zo/PjxOnjwoDp16qSJEycqPT29OIdoL/ToAwAAAIAlBBR3x+effz7f+9q7uYP+/v37NXv2bP3666+Kjo7Wli1blJGR4dluzZo1OSbyW7NmjRYvXiw/Pz9lZ2d7lickJOi+++7TsmXLdPnll2vZsmUKCgrK9b5jxoxRRESEHn30UY0ZM0azZs3S2LFjdd999xX3cK3vzNvrGSNxBwMAAAAA8EnFCvobNmzwzIZ/plOnTikmJkZbt27Vpk2btH79eknS7t27PZP11apVSz169FDr1q111VVX6YorrtBFF13kaePo0aPq16+fjDEaPHiw5s6dK0natGmT+vTpo/3796tp06b64osvPF8knCkzM1MnTpzQnXfeqQYNGmjQoEHau3dvoW/n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7erZj/NUOk6cOKH69etr3759nmXF/ffz8ccfq27duqpRo4YWLVpUWodgeXmdo/w+oyQ+p7wlr/NU3HPB378L5+zzVNBnlCQ+p7wgv79vtvlsMrCctLQ0U69ePTN8+HCze/du0717d/P22297uyxb2r17t4mMjDQffPCBiY2NNXfccYe5+uqrjTHGtG/f3nzxxRcmLi7OxMXFmcTERGMM589b8jofBZ2Lv/76y4SHh5uxY8ea33//3Vx11VVm9erVXj4Ka3M6nZ7zExcXZw4ePGgqV65sdu/ebS666CKzdetWz7rk5GRjDOeptBw/fty0bdvWSDJ79+41xhT8t6yg87J161YTFBRkZs+ebX777Tdz8cUXm507d3rr0Cwjr3NU0GeUMXxOeUNe58mY4p0L/v5dOHmdp4I+o4wxfE6Vsvz+vtnps4mgb0FLliwxkZGRJiUlxRhjzObNm80111zj5arsadmyZeY///mP5+fVq1eb0NBQk5GRYcLDw01SUlKufTh/pS+/81HQuXjttdfMpZdearKzs40xxnz22Wemf//+pVu4zY0bN8488MAD5tChQ6Z69ep5bsN5Kh3XX3+9mTp1ao7/6S3uv5/HHnvMdOvWzdP266+/bp555plSPBpryusc5fcZZUz+fxeN4XPqQsrrPBX3XPD378LJ6zydzf0ZZYzhc8oL8vv7ZqfPJobuW9CWLVvUrl07lStXTpLUvHlzxcTEeLkqe+rZs6eGDRvm+XnXrl1q1KiRtm7dquzsbLVo0UKhoaG66aabdODAAUmcP2/I73wUdC62bNmiLl26yOFwSJLatGmjjRs3eu0Y7CYtLU1Tp07V008/rfXr1ysrK0u1atVS+fLldffddysuLk4S56m0zJ49W48++miOZcX997NlyxZdd911nnY4ZyUjr3OU32eUlP/fRYnPqQspr/NU3HPB378LJ6/zdKYzP6Mk8TnlBfn9fbPTZxNB34ISExNVv359z88Oh0P+/v6ePyjwjvT0dL366qt68MEHFRMTo8aNG+u9997Tb7/9poCAAM8fI85f6cvvfBR0Ls5eFx4eriNHjnijfFtauHCh2rZtq3r16mnnzp264oor9MUXX+jnn3/W3r17NWbMGEm5/z1xni6MM3/HbsX998M5uzDyOkdnOvMzSsr/76LE59SFlNd5Ku654N/ShXOuf09nfkZJ4nPKy878+2anz6YAbxeAkhcQEKDg4OAcy0JCQpSamqrIyEgvVYXnn39e5cuX19ChQxUYGKj+/ft71s2cOVP169dXYmIi588L+vfvn+f5uOyyy/I9F2efJ/dylI633npLL7zwgiRpzJgxnv9hkqRXXnlFffv21VtvvcV58qKC/pYVdF44Z95x5meUlP/fRT6nSl9xzwX/lrznzM8oic8pbzvz79u///1v23w20aNvQVFRUTp+/HiOZUlJSQoKCvJSRVi9erVmzJihhQsXKjAwMNf6qlWrKjs7W0ePHuX8lQHu81G9evV8z8XZ54lzVHp2796t3bt364YbbshzfdWqVXXy5Ek5nU7OkxcV9LesoPPCOSt95/qMkvicKksKey74t+Qd5/qMkvicKk1n/32z02cTQd+CWrdurXXr1nl+3rt3r+cPCUrf3r171a9fP82YMUNNmjSRJI0ePVoLFy70bLNu3Tr5+fmpdu3anD8vyO98NGvWLN9zcfZ52rRpk2rWrFmqddvVhx9+qJ49e3oCyV133aW1a9d61q9bt07VqlVTcHAw58mLCvpbVtB54ZyVrrw+oyQ+p8qS4p4L/i15x9mfURKfU96S1983W302eXs2QJS8jIwMU6VKFc+tIoYOHWp69uzp5arsKTU11TRp0sQ88MADJikpyfN49913Tf369c0333xjVq5caS655BIzcOBAYwznzxvee++9PM9HQefi+PHjJiQkxHz99dcmPT3d3HTTTWbkyJHePAzb6Nixo5k7d67n55deesm0atXK/PDDD2bJkiWmWrVq5oUXXjDGcJ5Km86aKbw4/342b95sypcvb3777TeTlJRkWrRoYSZPnuyV47GiM89Rfp9R2dnZ+f5dNIbPqdJw5nkq7rng79+Fpzxm3T/7M8oYPqe8Ib+/b+np6bb5bCLoW9TSpUtNuXLlTKVKlUyVKlXM9u3bvV2SLX322WdGUq7H3r17zVNPPWUiIiJMVFSUefTRRz33UzWG8+cN+Z2Pgs7Fm2++aQIDA01kZKSpX7++iY2N9Vb5tpGammqCgoLMjh07PMvS09PN4MGDTfny5U316tXN2LFjTUZGhmc956n0nP0/vcX99/P000+boKAgEx4eblq2bGlSU1NL8zAs7cxzVNBnlDH5/100hs+pC+3sf0vFPRf8/buwzj5PeX1GGcPnlDcU9PfN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1VVX6YorrtBFF11U4DG9+OKLCgoKksPh0IQJExQTE6OePXuqU6dOkqTNmzerY8eOaty4sVasWOFpb8mSJZLyD/rbtm3ToEGDFB0drREjRmjChAmaN2+eMjIy1Lt3b73//vu64YYbtHLlSs+t/o4cOZKjDffPBc1lAABAWUPQBwDAhyxevFgzZszIsezgwYP65ptvPPeLz8/ll1+e7zr3tecpKSkaMGCAsrOzNXDgQE8AzsjIUMOGDRUfH+/Zp3LlygoMDFRGRobeffdd3XDDDapevXqRj8l9aUBcXJzmzJmj4OBgTZkyxbM+JCREaWlp2r9/v6f9zZs3a9++fapTp45at26dq83//Oc/euSRR2SM0euvv67HHnvMMxGh0+nUbbfdptdee00vvPCCJk2apJ07d0pSjjsYSNLhw4clSfXq1SvycQEA4C0EfQAAfMhNN92kiy66SMHBwXrrrbe0Z88eSa7r76+88koFBwcrMDBQ/v7+nh79b7/9VpJ03XXX5WgrPT1daWlpOn36tIKDg5WVlaX+/ftrx44d6tq1qwYPHuwJ+oGBgRoxYoTi4uLUoUMHtW/fXg0aNFDnzp31/fffq2rVqsUK+WeKjIzUjh079OOPP6pRo0ae5dnZ2ZKkOnXqeEYutGjRQvv27cs1P4Db8OHDdfjwYfXt21ctWrRQenq6nnvuOT3yyCO65ZZbJLlm5b/zzjt14403SpK6du2qb775Rvv27fMEe/doiDPrAQCgrCPoAwDgQ3r27OkZqr58+XJP0L/11lt166235tr+v//9r1avXq0KFSpo+vTpuuyyy/Jt2xijxo0bKyoqSvPmzdO+fftyrB8/fnyufTp06KDvv/9eP/74Y563pSuM2NhYPfroo3rzzTdVqVIldenSJdd6yXWt/pnq1q2runXr5tvuiy++6Hm9evVqzZo1S23bttXkyZM9y0NDQ9WyZUvVq1dPDzzwgL755hutXr1agwcPliRt375dkZGR5/0lBgAApang+94AAACf9uqrr0qSkpOTc91272wOh0OTJk3Szz//rFq1ahWq/c6dO0tyfaFQXK+//ro++ugjDRkyJM/1MTExkqTff/9dqamphWpz5cqVqlSpkmrUqKH69evrvvvukyTt27dPzZs316WXXqpLL71Ubdu2VZ06dbR06VJdc8018vf398zOn5ycrO3bt+vqq68u9rEBAOANBH0AACzqvffe04oVK9S4cWN99dVXcjqduvHGG7Vs2bIC9yvKMPVrr71W4eHhWrdunQ4dOlTkGo8fP66ZM2fK399fY8eOzXObNWvWSHL16H/55ZeFajczM1MpKSk6ffq0kpKSdOLECQUGBkqS4uPjFR8fr/3792vXrl1q2bKlHA6HoqKi1LFjRy1btkxJSUlas2aNsrOz1bFjxyIfFwAA3kTQBwDAgrZs2aIRI0bI399fc+fOVbdu3bR06VJlZ2erb9++WrhwYYm8T1BQkHr06CFjjBYtWlTk/ceOHaukpCSNHDlSV1xxRa71cXFx+vrrrxUZGamgoCC98cYbhWq3R48eSktLU1xcnF577TVJ0ksvvaTY2FjFxsbqyJEjqlmzpsLCwnTDDTd49uvfv79Onz6tWbNm6d1335WkXJcSAABQ1hH0AQCwmNWrV6tz585KSUnR5MmTdc0110hyTTa3aNEiGWN03333adasWSXyfu7Z/qdOnSqn01no/bZu3apZs2apWrVqOa6nP9O0adOUmpqqhx56SAMGDNB3332nDz/8sNDvkZmZqZdeeknVqlXTI4884lm+ZMkS7dmzRw899JBCQ0M9y++9915VqVJF48aN07Jly3TllVeqTZs2hX4/AADKAoI+AAAWkZqaqueee0433XSTEhIS9K9//UuPP/54jm369OmjGTNmKDs7W8OHD9fUqVPP+31vuOEGXX755Tp8+HCuW//lF/yzsrI0ePBgZWRkaNKkSQoPD8+1zW+//aaJEycqMjJSjz/+uJ555hmVK1dODzzwgLZs2VKo2hYsWKA//vhDx44d05VXXqlhw4bpnXfe0ahRo1S+fHn985//zLF9SEiIHn74YcXFxSktLU2PPfZYIX8LAACUHQR9AAB8lPu2c3FxcTLG6I477tBLL72kzMxMTZgwQZMmTcpzv+HDh+uJJ56QJI0bN85zr/jz4X6vp59+WtHR0Z7lL774onr16qVVq1bl2P7ll19WdHS02rVrp/vvvz9XewcOHFDfvn2VlpamV155RZUrV1bdunX18ssvKzExUd26dcvxPvkZMGCA/vzzT82aNUtXXXWVli1bpoEDB+rAgQMKCQnRu+++q/j4+Bz7+Pv7e167r+sHAMCnGAAA4HOmT59uHA6HkWQqV65sPvnkE5OcnGy6du1qli9ffs79s7KyzODBg83vv/+e7zbffvutkWTuvffeQtU0aNAgI8lUqVLFREdHG2OM6d69u5FkXnjhBc92y5cvNw6HwzgcDrN+/fpc7WzevNnUrFnTSDJDhgzJtb5///5GkilXrpx59913C1WbMcakpKSYvn37GkmmXbt2pmrVqkaSqV+/vsnIyDCZmZnmmWeeMZJM3bp1TUhIiAkKCjIff/xxod8DAICygB59AAB8zHPPPadHHnlE/v7+atKkiU6dOqXbbrtNV1xxhTp27KjAwEAdP378nO289tprCgkJ0ZYtW/TTTz/lWp+enp7j+VzefPNNde7cWcePH9c111yjYcOGafXq1ZKkXr165XhfY4zuv/9+tW7d2rM8KytL48ePV5s2bXT48GENGTIkz3kE5s2bp379+ik1NVX333+/br/9du3ZsyffupxOp+bPn69LL71Un376qR599FH9+OOPOnz4sN59912NGzdOu3btUufOnTVu3Dg1btxYa9eu1dy5c5WRkaE77rhDzz33nDIyMgr1ewAAwOu8/U0DAAAovGHDhhlJpkKFCub77783xhizadMm06VLFyMpx8Pf399ERESYGjVqmOrVq5vKlSubiIgIExwcnGvbxx57LNd7LVu2zEgyt956a6HrS0lJMT179szRdvPmzXNsc/r0afPggw+aI0eOGGOMycjIMPPnzzeNGjUykkxAQICZOnVqge+TnZ1tnn32WePn52ckmcDAQDN69OgcdXz22WfmwQcfNFFRUUaSadq0qfnmm29ytLNnzx7z4IMPmoCAACPJ3H333SYhIcGz/q233jL+/v5GkrnkkkvMr7/+WujfBQAA3uIwxpjS/nIBAAAUT3R0tG666Sa9//77uummm3Ks++mnn7R06VJFR0frzz//1KlTp5SamqrMzMxztrthwwa1atUqx7IlS5aob9++6t69u7744otC12iM0YIFCzR//nwlJCRo6tSpuvrqq/PdPj09XX379tUXX3yhxo0ba+7cuZ47BZzLN998o6FDh+ro0aNavXq1Z7/U1FT16dNHq1atUvv27fX444/r9ttvl59fzsGMX331lfr27atatWrp9ddfV/fu3XO9xw8//KD+/furW7dumjVrlhwOR6F/FwAAeANBHwAAH3Py5ElVqlTJ22WUqOTkZM2ZM0cPPfSQgoKCirzv/7dzxygUhDAABdOJV9GDeHJ7b2GpR/j1NgtbfQgzZSCQ9jWZc8YY4zHfe8c5J1prr/trrei9vz7eu/dGrTVKKZ9uA4B/EPoAAACQiGd8AAAAkIjQBwAAgESEPgAAACQi9AEAACARoQ8AAACJCH0AAABIROgDAABAIkIfAAAAEvkBHfOAkmhI3KEAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建一个大小为 (12, 8) 的画布和坐标轴对象\n",
    "fig, ax = plt.subplots(figsize=(12, 8))\n",
    "# 在坐标轴上绘制代价函数 cost2 随迭代次数 iters 的变化曲线，使用红色线条\n",
    "ax.plot(np.arange(iters), cost2, 'r')\n",
    "# 设置 x 轴标签为 \"迭代次数\",字体大小为 18\n",
    "ax.set_xlabel('迭代次数', fontsize=18)\n",
    "# 设置 y 轴标签为 \"代价\",旋转角度为 0,字体大小为 18\n",
    "ax.set_ylabel('代价', rotation=0, fontsize=18)\n",
    "# 设置图表标题为 \"误差和训练Epoch数\",字体大小为 18\n",
    "ax.set_title('误差和训练Epoch数', fontsize=18)\n",
    "# 显示图表\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们也可以使用scikit-learn的线性回归函数，而不是从头开始实现这些算法。 我们将scikit-learn的线性回归算法应用于第1部分的数据，并看看它的表现。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\hai_g\\anaconda3\\lib\\site-packages\\scipy\\__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.2\n",
      "  warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LinearRegression</label><div class=\"sk-toggleable__content\"><pre>LinearRegression()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "LinearRegression()"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 导入线性回归模型\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "# 创建线性回归模型对象\n",
    "model = LinearRegression()\n",
    "\n",
    "# 使用训练数据 X 和标签 y 对模型进行拟合\n",
    "model.fit(X, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "scikit-learn model的预测表现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+wAAALKCAYAAACoW9sXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClPElEQVR4nOzdd3hUVf7H8c+kkISQDASEBEWIICUg0kTBgiKsKKAiLoLGXhBRVlTEttIUxYauCioqoij4s4ERCIoFVxcERUqIDQyEkkgJJAEyKTP398fszGaYmdTJlOT9ep48u7nnzr1nhmQ3n3vO+R6TYRiGAAAAAABAUAkLdAcAAAAAAIA7AjsAAAAAAEGIwA4AAAAAQBAisAMAAAAAEIQI7AAAAAAABCECOwAAAAAAQYjADgAAAABAECKwAwAAAAAQhAjsAABUkc1m044dO5SdnV3puRaLRenp6fr+++89tj/66KP6/vvvZRhGrfr022+/afny5V7bS0pKNHv2bO3YsaNW9/G33377TXv37lVpaWmgu1Ila9as0aRJkzR//vw6uf6RI0e0Y8cO7d+/3+s5Cxcu1IIFC5zf5+TkaMmSJfr555/rpE8AgLpHYAcA1HuzZ8/WVVddpUOHDtXqOseOHVNycrJ69OhR6bl5eXm6+OKLde+997q1bd26VTNmzNA555yjhQsX1rg/3333nVJSUjRmzBjl5uZ6PCctLU333HOPOnfurN9++63G98rPz9fq1av14IMP6rTTTlN+fn6Nr1UVI0eO1IknnqjHHnusTu/jK3v37tUzzzyjZcuW1cn1lyxZouTkZN1zzz1ez5kxY4amTJni/D4zM1MjRozQvHnz6qRPAIC6FxHoDgAAGrZdu3bpgw8+UKNGjRQVFaXIyEi3c1JTU/XAAw+ooKBAUVFRCg8P93gtwzBksVhksVj0wAMPqEuXLrJYLJo7d67++OMP/ec//9GHH36oM888U08//XSF4erss8/W448/7nIsNjZWktS4ceNK31dMTIzLf5b3+eefS5KSk5M1ZsyYSq/lzTnnnKOBAwdq1apVmjp1ql555RW3cxwjvmPHjlWnTp0qveamTZv0ww8/aP/+/crOztaOHTv0+++/u43Qv/3227rrrrtq3PfKOD7rU045pc7u4UuNGjWSJHXo0MHl+LvvvqvU1NQqXeOnn35Sr169PLZFR0dL+t/nIkl//vmnDh48qKioKIWFhTlna2RkZEiyj7BL9gdNGRkZKi0t1bFjx9S1a1c1bdq06m8OABAwBHYAQEBt377d4yh0eVdeeaXS0tK0a9cuRUVFqVGjRrJYLCooKFDjxo0VFxcnyT5l3RHYb7rpJnXp0kXR0dH68ccfdccdd+jdd9/VgAED9O233yo7O1urV69Wly5dnGFLsk8h/+WXX9S6dWu3fphMJoWHhysiovL/+3QELE8PFxYvXixJmjRpUpWuVZHHHntMq1at0ptvvqkHH3xQbdu2dbbl5uYqPT1djRo10v3331+l6/3+++8aO3as83uTySTDMNSqVSulpqbq1FNPVbt27dS+ffta9bsyjociZrO5Tu/jK45/5+Mf5jh+DhITE72+l5ycHBUUFHh8uHP8dcr/vLz22muaNWuW27mnnXaay/cLFixwmSr/9ddf6/zzz6/g3QAAggWBHQAQUGeccYYyMjLUqFEj5yh7WVmZrrzySv3www+69957FRsb6zade+7cubrjjjs0depUTZo0qcJ7xMfHa+HCherSpYu2bNmivn376oMPPpAkffrppy6jojt27FBycrIzGF122WX69NNPtX79evXp08fj9VevXq0pU6bo9NNP1wsvvCDJHnQ92bJli9atW6cTTjhBN9xwQ5U+I4dDhw4pPDzcOcsgLCxMZ555pu6++24NGzbMJaxL9qBmtVo1YcIEnXjiiZIkq9Uqm82m4uJiFRcXq3nz5i6vueSSS/Svf/1Lbdu2VXJystq3b6/Y2Fh17txZzzzzjFufpk2bpkWLFnntc3x8vNatW1et9ynZH75IcnmYUl25ubk+CaYrVqxQcnKy2/GioiJZrVZFR0c7/70jIiJkGIZKSkpktVqdM0ZmzJihW265xeP1b7jhBi1YsKDChzee2m666SZdcsklatSokSIiInTNNdeouLhYH374oST7SPuNN96o66+/XnfeeadKS0t19OhRde/evdqfAQAgMAjsAICAio2NVdeuXWWz2ZSdna3ExETdfffd+uGHH/TQQw+5TUt32LVrlySpd+/eVb7Xww8/7AyC5Ue+S0pKFBkZ6RKyw8LsZV6aNGni8p+eFBQUaPXq1W7h15M33nhDkj3s9ezZ0+M5VqtVxcXFiouL09atW53He/bsqZ07d3p8zfPPP+/1nrNnz9bs2bM9thUVFTlHbyX7v0d1proXFBRUuDY+MTGxytcqz/HvVFJSUqPXS/Z/49qs23fw9vDl5ZdfdntY9PDDD+vhhx+WJN17773VemDgbamHNx07dlTHjh2d33fq1EnFxcXOB0uGYSg2NlZt27b1+rAJABDcCOwAgKBwzz33aN68ebrhhhs0Z84cjRo1yi2sHz582PnfN2/eLEk6+eSTXY5L9tDpaS289L8gXt7y5cs1ZswYXXnllZoxY4ZLm2Nks6LRT8dU5vLriz0pLCzUW2+9JZPJpNjYWJd+l5WVOdcjN2nSRKWlpW4V5Dt27KiEhATnWv/w8PBqhTzDMGS1Wp0PBIqKijx+HtXhCPueplmbTCZFRUXV6LoFBQWS7J9ZTTnu3bx5cx04cKDar2/Xrp127tzp9T107dpVt956qxo1aqTdu3dr6dKl6t+/v3r16qXS0lL16dPH4+c7duxYdejQQePGjXN5EHT8ufPnz9fUqVMVExOjo0ePSrKviU9PT9exY8c0b948nXHGGc6aCKNGjZIkl0KGjroGjmODBw9Wq1atqv1ZAAACg8AOAAgKd955p1asWKE5c+aoRYsWev31193OadGihaxWq8uxU0891e28xYsX66qrrpIkZWdn6+abb9Zbb73lnBZ+vKZNm8pisai4uNitzdvoanmOMF/Z9O1XX31V+fn5GjVqlN5//32Xtu+++07nnnuurrnmGuco/PEcwex4paWlKikp8fjAwDCMKr2HmqpsDX5N1+g7ZlDUprJ/dUesq3udiy++WBdffLEkKT09XUuXLtXw4cP1wAMPOM9ZsWKF2+veeustSdLEiRMrvG9iYqJ69+6t2NhY/f7779q9e7datWqlHj16qKioSAkJCdq5c6euvfbaKr+XtWvXEtgBIIQQ2AEAQaFDhw5au3atLrroIq1fv14rV67UlVde6XJOVFSUYmNjNX36dI/XWLFihT799FOXKd7Tpk3TqlWr1KdPHy1dulR9+/Z1e51jhLwuC5wdO3ZMTz/9tEwmk1JTU7Vt2zaXtfN79uyRVP0p5IWFhRo5cqSOHDmiFStWuLyHrKwsnX/++brxxhs1bty4SoPaV199pWuvvVYxMTFuQXvdunXq3LmzSyX+559/vk4eBhw5csQZ1Ldv317j6/gqsNdmFsLxn4/ValVJSYk6depU6cOM8g8Ebr75Zq1bt06DBg3SSy+95Dxny5YtkqR//vOfevTRR71e680339TYsWNdfjcAAMGPwA4ACKi8vDxZrVY1btxYMTExSktL06JFizRs2DBZLBbneVFRUYqOjlZ8fLxuv/12SdIXX3yhI0eOqG/fvjrxxBN14MABffrppy5TmOfMmaOysjK9/fbbGjhwoD788EMNGTLEpQ+O4FTROvXaevrpp7Vv3z716NFDl156qS6++GItX77c2e4I7O3atavyNXfu3KkRI0bo559/liTddtttLiP3s2bNUnZ2tqZNm6Ynn3xSo0eP1t133+11H/nS0lIVFBSopKTEGXaLiook2afsHz58WIZhqKysTEVFRbVaX16R8kXqvv766zq5h78cv6zh2LFjkqQ2bdpU+RpWq9XjSL30v5/d3bt3a+3atV6v8eeff0ry3UMMAIB/1G7hGgAAtXTPPfeoZcuWatKkiWJiYpSYmKiJEycqJibG+WU2m2WxWNzWpb/wwgu64oornPtOO5QfuYyKitKCBQs0fvx4HT16VNnZ2V77Ulejj3/++aeeeuopxcTE6KOPPlJcXJzWrVvnLKwm/W+ktCp7pUvSBx98oB49eujnn39Wq1at9Pbbb+u9995zOWfu3Ln68ssvddlll6m0tFQLFixQz549df755+uTTz5xW15w0UUXqbCwUPv371dubq5yc3N1/fXXS5L69++v3Nxc/fXXXzp48KCOHTvmbPO1f//7387/vmXLFucDiWDyyiuvKDExUW3btlXHjh116623SpKee+45de7cWR06dFDbtm29BvbqzKRIT0937ql+4MAB3Xbbbdq9e7ek/43gz58/X+eee67XL0/bvwEAgh+BHQAQUJdffrkef/xxPffcc3rxxRcVGxurpKQkvfjii5o5c6YkqU+fPh73qC4tLZWkKm1T9eKLL+rDDz/Ubbfd5tbmGMmvaYG0ythsNvXu3VsPPfSQTjnlFA0ePFgHDx7U+vXrneds2rRJJpNJp59+eoXX2rFjh0aMGKFRo0bp8OHDuu666/TLL7/o2muvdRs9NZlMGjhwoJYsWaJffvlFqampCg8P1+rVq3XFFVdo2LBhFd6rsLDQpYCZYRhatmxZDT6B6nGMqt90002SpGeffbbO71ldJSUlOnLkiIqKinT06FFnUbiysjIVFBSooKBAhw4dcnso4iiml5SU5HbN4891mDt3rvO/79ixQ2+88Yazkr/joc9dd92lP/74w+uX43cJABBaCOwAgIC6/PLL9dBDD2nixIm68847FR0drYSEBN15553Obc/OO+88j689cuSIwsPDq1REy2QyaeTIkc7vy49uO6q1x8fHO48dPzJaGx06dNDq1av10EMPSZKGDx8uSVq6dKkke2G1zZs3q3v37l7X0R88eFATJkxQly5dtGTJEiUmJurjjz/WggUL1KxZs0r70LFjR73zzjvKyMjQsGHDFBER4XFf9fJmz57tUvTt+uuv17BhwzwWBPSVvXv36t///reioqL03HPPqXXr1lq8eLF+//33OrtnTUyYMEFHjhzRvn37tGfPHj344IOS7A+G9u7dq3379qmgoMDl50yy1xWQpNatW7td01NgX7NmjZYtW+YM+H369NHYsWO1ZMkSffjhhyorK5Nkn1USHR3t9csx68TxkAsAEBpYww4ACFqbN29WRESEzj33XI/t+fn5OuGEE6pcFCw9PV3Z2dm67bbbXCrCO9b3JiQkOI95qhhfGyaTyTl9+dJLL1VERIQWLlyoxx57TOnp6bJarRo6dKjX15vNZuXk5Mhisaht27Y6//zztXr1aq1evbrafbnpppv0/PPPq3379l7P2bNnj5566ik1adJER44ckSSlpqbq3Xff1R133KGuXbuqX79+1b53ZV566SXZbDaNGjVKZrNZd9xxhx555BHdf//9WrJkic/v5yuO4njHV+o/PiD/8ccfkqTk5GS3azjCt4PVatW9996rsLAwTZw4Uffff78k6fHHH9d7772nt99+W4888ogk+8OV2bNnV9rP8nUhAADBj8AOAAha999/v+677z7n98ePeu/atctj8PE2Oj5nzhylpaUpPDzcpWDapk2bJEmnnHKK85gjsDuudfxIaXmOdfH79u3T+++/r4yMDOc+8Z4kJCRo6NChWrp0qVasWOHcxq2i7bkiIiI0f/58jR8/Xt9++62mTJni9dzKREdHa8SIEV7bDcPQzTffrKNHj+rJJ590blP2t7/9TVOnTtWjjz6q66+/3vm5+cq+ffs0Z84cSXJO+R4/fryeeuopLV26VKtWrdKgQYN8ek9fcTw4efXVV3XhhRcqLi5OkvuDny+++EKSvQjhypUrne9Xcg/TEydO1Jo1a3TbbbfptNNOcx5v1qyZli9frr59++rIkSPO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kn1tfbNmzZSYmOj1PjabTR988IEkezX4k046Se+//75GjRqlcePGSZLmz5/v8bWffPKJ27FOnToR2AEAABBYX34peSqc/Nprnrdta4AI7CHEajM0LS3T4x6XhuxbZ0xLy9TglMR6U+DDMY28RYsWNXr9jh07NGnSJPXt21f333+/S9vf//53lZSUaNOmTc5t1CTpr7/+kiRdeumlatSokcrKylRcXKyLL75Yr732mvO8lStX6uqrr3ZWiT9y5Ijzno5Cdw5XXXWV3nzzTR06dEjh4eFauXKlbrrpJh05ckRbt27VxRdf7LH/R48e1aJFizR79mxlZmZKkrp27aq1a9c6H2IcPHhQERERKikpcVk68Morr2jcuHH64osvnBXkbTabSktLK9z+DQAAAKhT334rDRjgfvyll6Tx4/3fnyDGGvYQsi4rz2Ua/PEMSTn5Fq3LyvNfp+qQ1WrV77//rhNOOEFms7nar7dYLBozZoysVqvefvtt53ZwhmGouLhYl19+uST7evPDhw87vxzbnhUUFDiPHTp0SEePHnW5fllZmY4ePaqioiIVFhbqwIEDzqn7jtft3LlTv/32m3r37i2TyaSEhASde+65SktLU2Fhob755hvZbDade+65Ht/D9ddfr1tvvVW7du1yjoi3aNHCZcbB7t27dcIJJ1RpnX9YWJiioqJq9HkCAAAAtfKf/9jXqB8f1mfPtq9RJ6y7YYQ9hOwrrNqoaFXPC3Z//vmnLBaLW+X4qjhy5IiuueYarV27VqNHj1ZaWppmzpyprVu36tdff9WiRYv08MMP6+GHH3Ybvb/99tv16quv6ptvvlG3bt283mPo0KHOkep33nlH1113nWbMmKHJkydLso9md+zYUfv27XPZ3/2aa67RN998o9dee00//PCDJOmCCy7weI9//vOfKiws1BtvvKGTTjrJuYVbedu2bdNJJ52krKwsff/9987j69atkyR9+eWXys3NdR7v3Lmz+vTpU+HnBwAAAPjMunWSpyWos2ZJx82ChSsCewhpGedeRb025wWjrKwsFRcXq3PnzvrPf/4jSTrvvPOqfZ3ffvtNaWlpkqTFixdr8eLFioqKUufOnTV06FCdeuqpzqC+YcMGHT58WAMHDnS7TlFRkWbPnq3Jkyc7R+iPV1ZWphkzZqhVq1a66667nMc/+eQTbd++XZMnT1ZMTIzzeGpqqh566CE9/vjjKioqUs+ePdW3b1+P1z799NO1cuVKr+9z79692r9/vy655BJt2LBB1157rds5x69Vf/DBBwnsAAAAdcBqM9iLvrwNG6Tevd2Pz5ghPfKI//sTggjsIaRvcoKSzNHKzbd4XMdukpRotv8PQyiy2Wy6/vrrtW/fPv38889asmSJJOmSSy5xO68yvXv31j333KO8vDz169dPZ5xxhrp166aICNcfeYvFouuuu07btm1Tenq6zj//fJf2O++8U2+++aaOHDmimTNnerzXu+++qz/++EOS1LNnTw0YMEBnn322Hn30UcXGxuree+91OT86Olrjx4/X1KlTJcm5rV1NOEbUe/fu7XwoMH/+fN3goZrmxo0b1bNnz2oX8AMAAEDl6sNOTj6zebN0+unuxx99VJo2zf/9CWGsYQ8h4WEmTRmeIskezstzfD9leErIPsV77rnn9O9//1t9+vTR/v379dlnnyk5OVm9evVyOa+srKxK13vmmWf05ptv6tZbb1WPHj0UERGh3Nxcvfnmm/riiy8kSTfffLO2bt2qc889V/3793e7xvTp09W8eXPNmjVLX331lcf7XH/99frzzz/12muvqVevXkpLS9MNN9yg7OxsRUdH6+2339bhw4ddXlN+tL66W9aV9/nnn0uSzj///Eq3oXOo6nkAAACoGsdOTsfXm3Ls5JSekROgnvnZ1q32NerHh/UHHpBsNsJ6DfCXe4gZ0i1Jc1N7KdHsOu090Rwdslu67d+/X5K0adMm9ezZU/PmzdNjjz2msrIyjR071q2YmqcK51arVVar1e14SUmJvv/+e02ZMkV9+vRR69atdfPNNyszM1NTpkzRe++9pz59+uiTTz5Ro0aN3F5/4okn6qWXXpLNZtN1113nFrwdkpOTdeutt+qNN95wBv+zzjpL4eHhuu+++9SrVy+VlZXJarXqkUce0T//+U+1bdtW0dHRuvHGG/XRRx9V92NTUVGRPvzwQ3Xs2FGnnXZatV8PAACA2qtsJyfJvpOT1ebpjHrit9/sQf34+k/33GMP6k88YW9HtTElPgQN6ZakwSmJ9WZ9zPr16yVJzZo108cff6yffvpJr7/+ulq0aOHcY7y8gQMHugXU4uJilZSUOL+fO3eu/u///k8//PCDioqKJEmJiYm6+eab9be//U0bNmzQk08+qU6dOmnFihUu08Tz8uxV9h0j0aNHj9aiRYv06aefauLEiR73Oy8uLtaiRYv06KOPateuXZowYYJmz54tm82mRYsWKSIiQr/99pvGjh2r77//Xp06ddKqVav07bffKjU1VX//+9+dQd7biPvu3bslSVFRUZKkt956S4cPH3abUr9s2TKXInMOOTn2J7tVWVIAAACAqqnOTk792jf3X8f8Yds26dRT3Y/feaf0r38R0n2AwB6iwsNM9eIXfteuXdq0aZMk+9rrpk2bqn///jIMQzNmzFB8fLzba1566SW3YyUlJS6BfefOnfrmm2/UtGlTXXvttbruuuvUv39/mUwmffTRR3ryySfVpk0bffHFF2rRooV+/PFHffjhhzpw4IA+++wzSVLLli2d13vhhRe0cuVKbdy4UYWFhYqLi9OxY8f0xRdfKD09Xf/3f/+nvLw8de3aVatWrdKFF14oyR76zz77bD399NO67rrrVFZWptGjR+vVV19VfHy8rr76ahUWFmr8+PGaMWOG3n//fS1evFg9e/Z03vvDDz/Um2++6dyH3bFk4JFHHlFMTIzG/3f7C8dSgQ8//FAffvih18/82LFjVfvHAQAAQKUa2k5OkqSsLOmUU9yP33abNHeuxBJMnyGwI6DatGmjJUuW6Msvv9Rll10mSVqxYoVef/11jR07tsrXadKkiXMkXbJvneaY/h4bG+ty7ogRIzR27Fjdc889atOmjSSpY8eO+te//uW8xtixY122e2vXrp1WrFih8847z2X9+Zw5c/T555+rX79+uvvuu3XllVe6rRH//ffftWDBAiUnJ+v55593K6I3duxYpaSk6JprrtF5552nHj16uLSfccYZGj9+vHr27KmJEydq7NixKi0t1dNPP62jR4/qhBNOkCTnPvGVFZ0jsAMAAPhOQ9jJySk7W2rXzr5nenk33CC98QZBvQ6YDOP4T7vhKCgokNlsVn5+vseRXE8sFouysrKUnJys6Oh68EsHp3feeUdNmjTRmWeeqdatW1fpNTk5OTp06JBSUlIqPG/jxo3q2rVrhQXmDh8+rJiYGOeU9+qyWCw6fPiwzGazyzZyvsDPPQAAgGdWm6FzZn1V6U5O300eGLJLWLVnj9S+vVRc7Hr86qult9+WvGx/DM+qk0MZYQf+y9Me5pVJSkpSUlLlhf6OHzX3pGnTptW+f3nR0dFK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",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 取特征矩阵 X 的第二列作为自变量 x\n",
    "x = X[:, 1]\n",
    "# 对模型进行预测，并将预测结果展平为一维数组 f\n",
    "f = model.predict(X).flatten()\n",
    "# 创建画布和坐标轴对象\n",
    "fig, ax = plt.subplots(figsize=(12, 8))\n",
    "# 在坐标轴上绘制预测值 f 随人口规模 x 的变化曲线，使用红色线条，并添加标签\n",
    "ax.plot(x, f, 'r', label='预测值')\n",
    "# 在坐标轴上绘制训练数据点的散点图，并添加标签\n",
    "ax.scatter(data['人口'], data['收益'], label='训练数据')\n",
    "# 显示图例，并设置位置和字体大小\n",
    "ax.legend(loc=2, fontsize=18)\n",
    "# 设置 x 轴标签和字体大小\n",
    "ax.set_xlabel('人口', fontsize=18)\n",
    "# 设置 y 轴标签、旋转角度和字体大小\n",
    "ax.set_ylabel('收益', rotation=0, fontsize=18)\n",
    "# 设置图表标题和字体大小\n",
    "ax.set_title('预测收益和人口规模', fontsize=18)\n",
    "# 显示图表\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## $L_2$正则化\n",
    "$J (  { w } ) = \\frac { 1 } { 2 } \\sum _ { i = 1 } ^ { m } ( h _ { w} ( x ^ { ( i ) } ) - y ^ { ( i ) } ) ^ { 2 } + \\lambda \\sum _ { j = 1 } ^ { n } w_ { j } ^ { 2 }$，此时称作`Ridge Regression`："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-2 {color: black;background-color: white;}#sk-container-id-2 pre{padding: 0;}#sk-container-id-2 div.sk-toggleable {background-color: white;}#sk-container-id-2 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-2 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-2 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-2 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-2 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-2 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-2 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-2 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-2 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-2 div.sk-item {position: relative;z-index: 1;}#sk-container-id-2 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-2 div.sk-item::before, #sk-container-id-2 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-2 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-2 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-2 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-2 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-2 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-2 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-2 div.sk-label-container {text-align: center;}#sk-container-id-2 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-2 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Ridge()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">Ridge</label><div class=\"sk-toggleable__content\"><pre>Ridge()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "Ridge()"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import Ridge# 导入岭回归模型\n",
    "model = Ridge()\n",
    "model.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+wAAALKCAYAAACoW9sXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACrmElEQVR4nOzdd3hUVf7H8c9kUgkhEBAC0iIIEpBehFVRFlaUooiLoLFhQRZhRUVUVATsDVgVLKuIouCKShEIigqWHwiIlAAWMPREehIgkzJzf3/MzmyGmUmdTEner+fJo3PPnTtnJonmc88532MyDMMQAAAAAAAIKmGB7gAAAAAAAHBHYAcAAAAAIAgR2AEAAAAACEIEdgAAAAAAghCBHQAAAACAIERgBwAAAAAgCBHYAQAAAAAIQgR2AAAAAACCEIEdAIBSstls2rNnj/bt21fiuRaLRampqfrhhx88tj/++OP64YcfZBhGhfr066+/avny5V7b8/PzNX36dO3Zs6dCr+Nvv/76qw4dOqSCgoJAd6VU1q5dqwkTJmjOnDmVcv1Tp05pz549OnLkiNdz5s2bp7lz5zofZ2RkaNGiRfr5558rpU8AgMpHYAcAVHnTp0/X9ddfrxMnTlToOmfOnFFSUpI6duxY4rnHjx/XlVdeqfvvv9+tbfv27Zo2bZouvvhizZs3r9z9+f7775WcnKwRI0YoMzPT4zlLly7VfffdpwsuuEC//vpruV8rKytLa9as0cMPP6wLL7xQWVlZ5b5WaQwdOlTnnnuunnzyyUp9HV85dOiQXnzxRS1btqxSrr9o0SIlJSXpvvvu83rOtGnTNHnyZOfjHTt2aMiQIXrrrbcqpU8AgMoXHugOAACqt/379+vjjz9WZGSkoqKiFBER4XZOSkqKHnroIWVnZysqKkpms9njtQzDkMVikcVi0UMPPaQ2bdrIYrFo9uzZ+v333/V///d/WrhwoXr06KEXXnih2HD1l7/8RU899ZTLsdjYWElSjRo1SnxfMTExLv8s6osvvpAkJSUlacSIESVey5uLL75Yffr00apVq/TEE0/o9ddfdzvHMeI7atQotW7dusRrbtmyRT/++KOOHDmiffv2ac+ePfrtt9/cRujfe+89jR07ttx9L4njsz7vvPMq7TV8KTIyUpLUsmVLl+MffPCBUlJSSnWNn376SZ07d/bYFh0dLel/n4sk/fHHHzp27JiioqIUFhbmnK2RlpYmyT7CLtlvNKWlpamgoEBnzpxR27ZtVbt27dK/OQBAwBDYAQABtXv3bo+j0EVdd911Wrp0qfbv36+oqChFRkbKYrEoOztbNWrUUFxcnCT7lHVHYB85cqTatGmj6Ohobdy4Uf/4xz/0wQcfqHfv3vr222+1b98+rVmzRm3atHGGLck+hXznzp1q1KiRWz9MJpPMZrPCw0v+36cjYHm6ubBgwQJJ0oQJE0p1reI8+eSTWrVqld555x09/PDDatasmbMtMzNTqampioyM1IMPPliq6/32228aNWqU87HJZJJhGGrQoIFSUlJ0/vnnq3nz5mrRokWF+l0Sx02R+Pj4Sn0dX3F8n8++meP4OUhMTPT6XjIyMpSdne3x5s7Z1yn68/Lmm2/queeeczv3wgsvdHk8d+5cl6ny33zzjS677LJi3g0AIFgQ2AEAAdWtWzelpaUpMjLSOcpeWFio6667Tj/++KPuv/9+xcbGuk3nnj17tv7xj3/oiSee0IQJE4p9jVq1amnevHlq06aNtm3bpu7du+vjjz+WJC1ZssRlVHTPnj1KSkpyBqOrr75aS5Ys0YYNG9S1a1eP11+zZo0mT56sDh06aObMmZLsQdeTbdu2af369TrnnHN06623luozcjhx4oTMZrNzlkFYWJh69Oihe++9VwMHDnQJ65I9qFmtVo0bN07nnnuuJMlqtcpmsykvL095eXmqW7euy3Ouuuoq/etf/1KzZs2UlJSkFi1aKDY2VhdccIFefPFFtz5NmTJF8+fP99rnWrVqaf369WV6n5L95oskl5spZZWZmemTYLpixQolJSW5Hc/NzZXValV0dLTz+x0eHi7DMJSfny+r1eqcMTJt2jTdcccdHq9/6623au7cucXevPHUNnLkSF111VWKjIxUeHi4brzxRuXl5WnhwoWS7CPtt912m2655Rbdc889Kigo0OnTp9W+ffsyfwYAgMAgsAMAAio2NlZt27aVzWbTvn37lJiYqHvvvVc//vijHnnkEbdp6Q779++XJHXp0qXUrzVp0iRnECw68p2fn6+IiAiXkB0WZi/zUrNmTZd/epKdna01a9a4hV9P3n77bUn2sNepUyeP51itVuXl5SkuLk7bt293Hu/UqZP27t3r8TkzZszw+prTp0/X9OnTPbbl5uY6R28l+/ejLFPds7Ozi10bn5iYWOprFeX4PuXn55fr+ZL9e1yRdfsO3m6+vPbaa243iyZNmqRJkyZJku6///4y3TDwttTDm1atWqlVq1bOx61bt1ZeXp7zxpJhGIqNjVWzZs283mwCAAQ3AjsAICjcd999euutt3Trrbdq1qxZGjZsmFtYP3nypPPft27dKklq2rSpy3HJHjo9rYWX/hfEi1q+fLlGjBih6667TtOmTXNpc4xsFjf66ZjKXHR9sSc5OTl69913ZTKZFBsb69LvwsJC53rkmjVrqqCgwK2CfKtWrZSQkOBc6282m8sU8gzDkNVqdd4QyM3N9fh5lIUj7HuaZm0ymRQVFVWu62ZnZ0uyf2bl5XjtunXr6ujRo2V+fvPmzbV3716v76Ft27a68847FRkZqQMHDmjx4sXq1auXOnfurIKCAnXt2tXj5ztq1Ci1bNlSo0ePdrkRdPa5c+bM0RNPPKGYmBidPn1akn1NfGpqqs6cOaO33npL3bp1c9ZEGDZsmCS5FDJ01DVwHOvXr58aNGhQ5s8CABAYBHYAQFC45557tGLFCs2aNUv16tXTv//9b7dz6tWrJ6vV6nLs/PPPdztvwYIFuv766yVJ+/bt0+233653333XOS38bLVr15bFYlFeXp5bm7fR1aIcYb6k6dtvvPGGsrKyNGzYMH300Ucubd9//70uueQS3Xjjjc5R+LM5gtnZCgoKlJ+f7/GGgWEYpXoP5VXSGvzyrtF3zKCoSGX/so5Yl/U6V155pa688kpJUmpqqhYvXqxBgwbpoYcecp6zYsUKt+e9++67kqTx48cX+7qJiYnq0qWLYmNj9dtvv+nAgQNq0KCBOnbsqNzcXCUkJGjv3r266aabSv1e1q1bR2AHgBBCYAcABIWWLVtq3bp1uuKKK7RhwwatXLlS1113ncs5UVFRio2N1dSpUz1eY8WKFVqyZInLFO8pU6Zo1apV6tq1qxYvXqzu3bu7Pc8xQl6ZBc7OnDmjF154QSaTSSkpKdq1a5fL2vmDBw9KKvsU8pycHA0dOlSnTp3SihUrXN5Denq6LrvsMt12220aPXp0iUHt66+/1k033aSYmBi3oL1+/XpdcMEFLpX4Z8yYUSk3A06dOuUM6rt37y73dXwV2CsyC+Hsz8dqtSo/P1+tW7cu8WZG0RsCt99+u9avX6++ffvq1VdfdZ6zbds2SdJjjz2mxx9/3Ou13nnnHY0aNcrldwMAEPwI7ACAgDp+/LisVqtq1KihmJgYLV26VPPnz9fAgQNlsVic50VFRSk6Olq1atXS3XffLUn68ssvderUKXXv3l3nnnuujh49qiVLlrhMYZ41a5YKCwv13nvvqU+fPlq4cKH69+/v0gdHcCpunXpFvfDCCzp8+LA6duyowYMH68orr9Ty5cud7Y7A3rx581Jfc+/evRoyZIh+/vlnSdJdd93lMnL/3HPPad++fZoyZYqeffZZDR8+XPfee6/XfeQLCgqUnZ2t/Px8Z9jNzc2VZJ+yf/LkSRmGocLCQuXm5lZofXlxihap++abbyrlNfzl7GUNZ86ckSQ1adKk1NewWq0eR+ql//3sHjhwQOvWrfN6jT/++EOS725iAAD8o2IL1wAAqKD77rtP9evXV82aNRUTE6PExESNHz9eMTExzq/4+HhZLBa3dekzZ87Utdde69x32qHoyGVUVJTmzp2rMWPG6PTp09q3b5/XvlTW6OMff/yh559/XjExMfrkk08UFxen9evXOwurSf8bKS3NXumS9PHHH6tjx476+eef1aBBA7333nv68MMPXc6ZPXu2vvrqK1199dUqKCjQ3Llz1alTJ1122WX67LPP3JYXXHHFFcrJydGRI0eUmZmpzMxM3XLLLZKkXr16KTMzU3/++aeOHTumM2fOONt87bvvvnP++7Zt25w3JILJ66+/rsTERDVr1kytWrXSnXfeKUl6+eWXdcEFF6hly5Zq1qyZ18BelpkUqampzj3Vjx49qrvuuksHDhyQ9L8R/Dlz5uiSSy7x+uVp+zcAQPAjsAMAAuqaa67RU089pZdfflmvvPKKYmNj1bBhQ73yyit6+umnJUldu3b1uEd1QUGBJJVqm6pXXnlFCxcu1F133eXW5hjJL2+BtJLYbDZ16dJFjzzyiM477zz169dPx44d04YNG5znbNmyRSaTSR06dCj2Wnv27NGQIUM0bNgwnTx5UjfffLN27typm266yW301GQyqU+fPlq0aJF27typlJQUmc1mrVmzRtdee60GDhxY7Gvl5OS4FDAzDEPLli0rxydQNo5R9ZEjR0qSXnrppUp/zbLKz8/XqVOnlJubq9OnTzuLwhUWFio7O1vZ2dk6ceKE200RRzG9hg0bul3z7HMdZs+e7fz3PXv26O2333ZW8nfc9Bk7dqx+//13r1+O3yUAQGghsAMAAuqaa67RI488ovHjx+uee+5RdHS0EhISdM899zi3Pbv00ks9PvfUqVMym82lKqJlMpk0dOhQ5+Oio9uOau21atVyHjt7ZLQiWrZsqTVr1uiRRx6RJA0aNEiStHjxYkn2wmpbt25V+/btva6jP3bsmMaNG6c2bdpo0aJFSkxM1Keffqq5c+eqTp06JfahVatWev/995WWlqaBAwcqPDzc477qRU2fPt2l6Nstt9yigQMHeiwI6CuHDh3Sd999p6ioKL388stq1KiRFixYoN9++63SXrM8xo0bp1OnTunw4cM6ePCgHn74YUn2G0OHDh3S4cOHlZ2d7fJzJtnrCkhSo0aN3K7pKbCvXbtWy5Ytcwb8rl27atSoUVq0aJEWLlyowsJCSfZZJdHR0V6/HLNOHDe5AAChgTXsAICgtXXrVoWHh+uSSy7x2J6VlaVzzjmn1EXBUlNTtW/fPt11110uFeEd63sTEhKcxzxVjK8Ik8nknL48ePBghYeHa968eXryySeVmpoqq9WqAQMGeH1+fHy8MjIyZLFY1KxZM1122WVas2aN1qxZU+a+jBw5UjNmzFCLFi28nnPw4EE9//zzqlmzpk6dOiVJSklJ0QcffKB//OMfatu2rXr27Fnm1y7Jq6++KpvNpmHDhik+Pl7/+Mc/9Oijj+rBBx/UokWLfP56vuIojnd2pf6zA/Lvv/8uSUpKSnK7hiN8O1itVt1///0KCwvT+PHj9eCDD0qSnnrqKX344Yd677339Oijj0qy31yZPn16if0sWhcCABD8COwAgKD14IMP6oEHHnA+PnvUe//+/R6Dj7fR8VmzZmnp0qUym80uBdO2bNkiSTrvvPOcxxyB3XGts0dKi3Ksiz98+LA++ugjpaWlOfeJ9yQhIUEDBgzQ4sWLtWLFCuc2bsVtzxUeHq45c+ZozJgx+vbbbzV58mSv55YkOjpaQ4YM8dpuGIZuv/12nT59Ws8++6xzm7K//e1veuKJJ/T444/rlltucX5uvnL48GHNmjVLkpxTvseMGaPnn39eixcv1qpVq9S3b1+fvqavOG6cvPHGG/rrX/+quLg4Se43fr788ktJ9iKEK1eudL5fyT1Mjx8/XmvXrtVdd92lCy+80Hm8Tp06Wr58ubp3765Tp045r+nwyCOPaMOGDVqyZInbUpILLriggu8UAOBPTIkHAAS1sLAw5wh60SnDjinHRbdGc/A0Or53714tX75csbGxGjRokM455xy1bdtWUVFRWr16tUwmk9q2bauYmBhdccUVzoDkeM2zRz8dCgoK9OSTT0qSli5dquHDh+vpp58utridJGeRsvvuu09fffWVevToUWKYqlmzpi677DJnCPv4449lGIYMw1Dv3r1Vt25d52PDMBQbG6sBAwY4HzuCXUnF9WbNmqWVK1eqQ4cOuu+++1zaHn74YSUnJ+v333/3ul98eU2YMEFZWVkaMmSIunXrJkmqXbu2cynBbbfdVqF92SvL77//rl9++UWSfRZHr169tGfPHknSgAEDtG3bNg0dOlRZWVn64osv1KRJE/3www/OGgavvvqqjhw54lKLwWKx6LffflNCQoLH9ee9evVyFmK87LLL9Ne//lV9+/ZV3759VVhYqLi4OA0aNMh5rG/fvurTp49iYmIYZQeAEEJgBwCEjKJBw1GYLDk52e08T4H9ueeek9Vq1dixY1W/fn1NnTpVaWlpOnbsmHbv3q0LL7xQCQkJMplMSk1Nde717nhNx/ZmZ4uIiFC/fv1Uo0YNDR8+XPPnz9eRI0e0du3aYt9L//791bhxY+fabMfU5tIoaf/ukhS3tdf69ev14IMPOqvrn12ZPzw8XLNmzdLTTz+tMWPGVKgfRX3yySd67733VKNGDb3wwgsubePHj1fr1q114MABjRw5stjZDoHgKArXu3dvtWvXTmlpabrooov0888/q3bt2mrXrp3q1Kmjp556Srm5uRoxYoQkOT/bmjVrql69ei7f1+joaC1btkyLFi1S3bp1Pb7uPffco5o1ayoiIkJhYWHOZRc///yzcnJynI8dX2azWTExMXriiScq9wMBAPgMU+IBACEjMTFRjRs3lmQPeJLUo0cPZ3ubNm00dOhQtyJ0+/fv1zvvvKNatWppwoQJLm2OsHXVVVfpyiuv1Pbt27Vu3Tqde+65kqS7775bAwcOVNOmTb326/nnn9e0adNc1sCXNIpZUFCgBg0a6MCBA4qJiXGOKJeGYy18eXl7/i+//KKrrrpKZ86c0auvvuq1Yn3v3r3Vu3dvl2OXX355ufuzefNmZ0X4F1980W1tfWRkpD788EP17NlTixYt0i233KK5c+eWunZBZTp27JizCN9LL72k1q1b68Ybb9SSJUvUu3dvLV26VL1799bKlSv10ksvKSYmRuPGjdPzzz9fYv/NZrPX+g2SNHz4cHXv3l0xMTEKDw+XyWTS119/rTlz5igsLEw2m00XX3yxRo0aJcMwlJeXp+zsbI83uQAAwYnADgAIGbt27ZJk35v7k08+UZ06ddSnTx89++yz6tevn4YOHepSCd7h/vvvV15enh566CGXUL1371699957ioqK0tixYzVt2jStXLlS11xzjb7//ntFRUWVas10bGysW7Gx4pw5c0bXXnutfvrpJ0VERCg3N1d9+/bVV199pfr165f6Or726KOP6tixY7rhhhtKPXruWOM/dOhQ580Uh5kzZ5ZYbX/Lli268sorlZ2drVtvvVWjR4/2eF7nzp312muv6c4779S8efOUm5urt99+22tVfX+ZNGmScnJydP3116tLly6S7DeTrr32Wq1evVrnnHOOvv32W1133XWy2Wx66aWXnDeDzvbVV1/pr3/9a6lfu3///i6PT58+rSeffFIRERH64YcfNHz4cP3www/65z//qeuuu678bxIAEDgGAABBJCEhwWjbtq3X9mPHjhkXXHCBIcl49tlnjX379hmRkZFGdHS08c4777idv2zZMkOSERsbaxw7dsylbcCAAYYk46GHHjIMwzDy8/ONSy+91JBkjB071uPrm81mo1mzZiW+j9zcXEOS8de//tXl+K5du4z27dsbkozGjRsbO3bsMIYOHWpIMhITE41ly5aVeO3p06cbkoyPP/7Yeax3795G3bp1Xc6LjY01BgwY4Hz85ZdfGpKMadOmebxuQUGB8eijjxpnzpxxOS7J6N27t8fnTJgwwZBkfPPNN25tkowmTZp4fR+fffaZERcXZ0gyrrrqKiM/P9/ruQ5Tp041JBmSjObNmxvff/+913PPnDnjPLciX0eOHPF4/S+++MIICwszYmJijPT0dLfX/r//+z/j7bffNqKiogxJxv333+/y2fzlL39xPrbZbEbNmjWNCy+80MjJyXF7rRUrVhiSjDFjxnjsy9GjR43evXsbkozHH3/cMAzDWLdunREVFWVERUUZH330kdfPCQAQvAI/lwwAUO3l5ubKMAzt3btXJ06ccFs37bBr1y7169dPv/zyi/r3768HHnhATZo00fr169WsWTONHDlSY8aMcRaIO3HihG655RZJ9q3Mio6uv/jii1q2bJkaNGjgLGoWERGhuXPnqkaNGnrllVecRdrOnDmj/fv369NPP5XVai12DbiDow+OonX5+fl69tln1b59e23dulXdu3fXjz/+qDZt2mj+/Pm64447lJmZqQEDBqhXr1768MMPlZWVVc5PtHzCw8M1bdo0l8rijm3JDC8j5adPn/Z6vdatW3vcb/zo0aO67bbbNGTIEOXk5Ojaa6/VZ5995vX7XtRjjz2mmTNnKiwsTHv27NHFF1+sIUOGaNu2bW7nOj57s9ms1q1bl/nLsabcU8HBbdu2acSIEbLZbJoyZYqaN2/u0r5//3499dRTuv3225WXl6dJkya57Xt//Phx579v375dp06dUlhYmGrWrOn2et7W7VssFs2YMUPJyclas2aNHnroIU2ZMkWSfbnIhx9+KKvVquHDh2v8+PF+/5kCAFRQoO8YAADw8MMPu4xojhw50qU9OzvbeP75542aNWsakozrr7/esFgsLuecPHnS6NOnjyHJ6NOnj3HixAnDMAxj8eLFRv369Y0//vjDee4HH3xghIWFGSaTyVi6dKlbf5577jkjPj7eWLx4sWEYhrFlyxaX/l177bUlvqfjx48bkoxevXoZr732mtGoUSNDkmEymYz777/fyMvLc3vO3LlzjXPOOcf5OldccYWRn59vFBYWGvXr1zeaN29unH/++Ub9+vUNSUajRo2M1q1bG61btzZiYmIMs9nsfNy6dWvDZDIZsbGxzsdNmjQxJBn16tUzWrZsaTRr1syoV6+esXfvXq/vIysry5Bk9OzZ02O7xWIxcnJyjMLCwhI/E8Owj0rXqlXL+Vk89thjhs1mK9Vzi/r666+Nxo0bOz+rOXPmuJ3j+B6cPfOgtJo1a2ZIcvt8cnNznbMk/vKXv7i890OHDhk33XSTER4e7pw14elnrGHDhoYkY9iwYcYjjzxidOzY0ZBkvPrqqx77snjxYkOSMWrUKMMwDGPt2rXGsGHDjNq1azt/FhYsWODxuatXr3b+XNWpU8e455573H5/AADBicAOAAi4jRs3GjExMUarVq2MUaNGGUePHnW2HTt2zDj//PMNSUbNmjWNWbNmeb1Obm6ucdVVVxmSjNdff915/OTJky7n7du3z0hJSTGmTJni8ToFBQXG9u3bXY517tzZ6NSpk/HII484bwYU58CBA4Yko2PH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af369br33nudxw3DUEFBgaxWq9544w3n8ebNm2vv3r0urxMdHa2kpCQNGDBAEyZMUP369b326d1339Vtt92mW265Re+++26x/ffk6NGjOuecc9SsWTPt2bOnzM8HAAAAKlNqWoZGz9uks8fTM7MsGj1vk2andA7p0E5gR0B069ZNaWlpioyMdI6yFxYW6rrrrtOPP/6o+++/X7Gxsfr1119dnjd79mz94x//0BNPPKEJEyYU+xq1atXSvHnz1KZNG23btk3du3fXxx9/LElasmSJWrZs6Tx3z549SkpKcobrq6++WkuWLNGGDRvUtWvXEt/PiRMn9NFHH0mSxo8fr4MHD+rtt9/2ev53332n7777zu14bGysS2B3aNKkiRISEmQYhg4fPqydO3dq586dmjt3rlavXq3k5OQS+wgAAABUJVaboSlLd7iFdUkyJJkkTVm6Q/2SE2UOC80tgVnDjoCIjY1V27Zt1aJFCxmGocTERL344ov68ccf9cgjj+jFF1/0uM/2/v37JUldunQp9WtNmjRJH374oSS5TKvPz8+XYbj+eoeF2X8latas6fLPkrz88svKzs5Wu3btdPHFF6tv3746duyYLBaLrFarDMOQYRjq2bOnJGnlypXOY4ZhKD8/XydOnNDvv//u8fpTp07V5s2btWXLFmVkZGjdunU699xzdeTIEY0aNcprv+Lj49W6dWs1bBi6dxUBAAAAT9anH3eZBn82Q1JGlkXr04/7r1M+RmBHQN13331q27atxowZo5kzZ2rYsGFua8hPnjzp/Nq6daskqWnTpi7HT548qYKCAq+v4wjiRS1fvlw1atTQTTfd5NbmGGkvaRq8JB0/flz/+te/JEnDhg2TZJ+2npCQoKioKJfXPnr0qCQpISHB5RoRERGqXbt2qYN1jx49NGPGDEnS999/r8OHD3s8b8iQIfrll1/0zDPPlOq6AAAAQKg4nOM9rJfnvGDElHgE1D333KMVK1Zo1qxZqlevnv7973+7nVOvXj23rdDOP/98t/MWLFig66+/XpK0b98+3X777Xr33Xd17rnnenzt2rVry2KxKC8vz63N0+i+N1OnTlV2drYkKSYmxqXtP//5j/Lz852P//zzT0n2AnW//PKLy7nXXXedoqOjS/26ffr0cf77nj17il3LDgAAAFQ19eNK97dzac8LRgR2BFTLli21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qCVLlmjVqlWV+hp5eXlKSUnR5s2biz3PYrEoJSVFTZs21R9//FHq6y9atEgFBQWSpP379ys8PFxdu3Z1ts+fP18HDhxwPn7yySeVkpKib775pkzv49ixY2rXrp2GDh1apucBAABUlvXpx91G1osyJGVkWbQ+/bj/OoXqy2aT/vt3eVXBGnYEzMmTJ3XLLbfozJkzmjt3roYPH14pr7Ns2TJ98MEHSk1N1R9//KFatWp5PG/VqlWyWCy65JJLdN5555Xq2p9++qmGDh2qG2+8UfPmzVNERISsVqsiIiIkSUeOHNGtt96q9u3ba8OGDZKkH374Qampqbrssst0+eWXl/p9REREaPv27YqPj3c5vnz5cm3durXU1+nTp4+6d+9e6vMBAAC8OZzjPayX5zygXDIypFatpFOnpHbtpG3bAt0jnyGwI2Bq166tTz/9VIMHD9YNN9ygEydOaPTo0S7njB8/XmlpaXrmmWdcRq3PlpycrMzMTB0/7n73dt68eZKkadOmeQ3rkrRw4UJJ0r333lvq9zBkyBDdcsstmjt3rrp166aUlBRJUlRUlCTptddeU35+vqZNm+Z8zs8//6zw8PAyj5THxsZKksLDXX9tFy9erDfffLPU13n99dcJ7AAAwCfqx0X79DygTP78U2rTRjpx4n/H0tIC159KwJR4BNTll1+ulStXqkaNGhozZozefvttl/acnBytWrVKp0+fdh574IEHdMstt7icV6NGDWegLWrfvn1asmSJ2rdvr7vuust5/B//+IcaNmyo8847T61bt9YFF1ygBQsWSLLfJLjgggucX+eff76aNWumunXruvRDkkwmk2bNmqWePXsqISHBObIeFhYmm82m5cuXq1OnTurfv78kadu2bfrzzz/Vq1cv1alTp0yfldlsdr5mUZGRkZKk9PR0GYbh9WvFihWS/nczAQAAoKK6JyWoYXy0vG3eZpK9Wnz3pAR/dgtV3ZEjUmKi/atoWB84UMrPD1y/KgGBHQHXq1cvLV68WBEREXrmmWd05swZZ1tMTIzLPyXpyy+/1AcffOByjfDwcGegLeq1116T1WrVyy+/7GzfvHmzLBaLsrKylJWVpZMnTyozM1N5eXmKjY11Hiv6lZ2drZycHBmGa8GUcePGacqUKerTp492796t559/XpK0Z88eTZ06VVdeeaUuuugiPfDAA/r2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m2/q559/1qlTp7R582Z99NFHzjXrFotFN998s6666iqtXr3a7Tr33HOPJk2apMcee8zra33wwQf6/fff9eeff6pTp0666667NHfuXN13332KjY3V/fff73J+dHS0xowZoxMnTshisTi3tSsPx4h6ly5dnDcF5syZI8Mw3L5+/vlnSWUv4AcAAIDiOXZyOrvelGMnp1DafrlCbDZp5EgpPNw1rIeFSXv22KvCE9bLhMAeYvq3a6jZKZ2VGO867T0xPjpktnTz5uWXX9Z3332nrl276siRI/r888+VlJSkzp07u5xXWFhYquu9+OKLeuedd3TnnXeqY8eOCg8PV2Zmpt555x19+d+KlLfffru2b9+uSy65RL169XK7xtSpU1W3bl0999xz+vrrrz2+zi233KI//vhDb775pjp37qylS5fq1ltv1b59+xQdHa333ntPJ0+edHlO0dH6sm5ZV9QXX3whSbrssstK3IbOobTnAQAAoGQl7eQk2Xdysto8nVFFGIZ0992S2SydvXPRH3/YR9ybNQtM30Icf7mHoP7tGur7iX00/86LNHN4R82/8yJ9P7FPyIb1I0eOSJK2bNmiTp066a233tKTTz6pwsJCjRo1yq2YmqcK51arVVar1e14fn6+fvjhB02ePFldu3ZVo0aNdPvtt2vHjh2aPHmyPvzwQ3Xt2lWfffaZIiMj3Z5/7rnn6tVXX5XNZtPNN9/sFrwdkpKSdOedd+rtt992Bv+LLrpIZrNZDzzwgDp37qzCwkJZrVY9+uijeuyxx9SsWTNFR0frtttu0yeffFLWj025ublauHChWrVqpQsvvLDMzwcAAEDFlWUnpyrHMKSxY+0j6G+84dr2++/29qSkwPStimANe4gyh5mqzNZtGzZskCTVqVNHn376qX766Sf9+9//Vr169Zx7jBfVp08ft4Cal5en/Px85+PZs2frP//5j3788Ufl5uZKkhITE3X77bfrb3/7mzZt2qRnn31WrVu31ooVK1ymiR8/bv+PqWMkevjw4Zo/f76WLFmi8ePHe9zvPC8vT/Pnz9fjjz+u/fv3a9y4cZo+fbpsNpvmz5+v8PBw/frrrxo1apR++OEHtW7dWqtWrdK3336rlJQU/f3vf3cGeW8j7gcOHJAkRUVFSZLeffddnTx50m1K/bJly1yKzDlkZNinYpVmSQEAAABKp7rt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",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x2 = X[:, 1]\n",
    "f2 = model.predict(X).flatten()\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12, 8))\n",
    "ax.plot(x2, f2, 'r', label='预测值Ridge')\n",
    "ax.scatter(data['人口'], data['收益'], label='训练数据')\n",
    "ax.legend(loc=2, fontsize=18)\n",
    "ax.set_xlabel('人口', fontsize=18)\n",
    "ax.set_ylabel('收益', rotation=0, fontsize=18)\n",
    "ax.set_title('预测收益和人口规模', fontsize=18)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## $L_1$正则化：\n",
    "$J (  {w } ) = \\frac { 1 } { 2 } \\sum _ { i = 1 } ^ { m } ( h _ { w} ( x ^ { ( i ) } ) - y ^ { ( i ) } ) ^ { 2 } + \\lambda \\sum _ { j = 1 } ^ { n } | w _ { j } |$，此时称作`Lasso Regression` "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-3 {color: black;background-color: white;}#sk-container-id-3 pre{padding: 0;}#sk-container-id-3 div.sk-toggleable {background-color: white;}#sk-container-id-3 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-3 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-3 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-3 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-3 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-3 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-3 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-3 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-3 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-3 div.sk-item {position: relative;z-index: 1;}#sk-container-id-3 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-3 div.sk-item::before, #sk-container-id-3 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-3 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-3 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-3 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-3 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-3 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-3 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-3 div.sk-label-container {text-align: center;}#sk-container-id-3 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-3 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-3\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Lasso()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" checked><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">Lasso</label><div class=\"sk-toggleable__content\"><pre>Lasso()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "Lasso()"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import Lasso# 导入 Lasso 回归模型\n",
    "model = Lasso()\n",
    "model.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+wAAALKCAYAAACoW9sXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACrxklEQVR4nOzdeZzNZf/H8feZfczGEDNKTPYh2YsKiTtCJd2iJpUWSdyVlJY7oUSbuivapRTdbZZkRIuWWyHCmFJpGDSTZZgZzHrO9/fH+Z2T4yyzn2Xm9Xw85lHne33P91znzEzN+3td1+cyGYZhCAAAAAAA+JUgX3cAAAAAAAA4I7ADAAAAAOCHCOwAAAAAAPghAjsAAAAAAH6IwA4AAAAAgB8isAMAAAAA4IcI7AAAAAAA+CECOwAAAAAAfojADgBAOVksFu3evVuZmZllnltYWKjU1FR99913LtsffvhhfffddzIMo0p92rlzpz799FO37cXFxZo7d652795dpdfxtp07d+rPP/9USUmJr7tSLuvXr9eUKVO0YMGCGrn+sWPHtHv3bh08eNDtOYsWLdLChQvtj7OysrR06VJt2bKlRvoEAKh5BHYAQK03d+5cXX311Tpy5EiVrnPixAklJSWpc+fOZZ6bk5OjwYMHa/LkyU5tO3bs0MyZM3XBBRdo0aJFle7Pt99+q+TkZI0ePVrZ2dkuz1mxYoXuvvtutWvXTjt37qz0a+Xm5mrdunW6//77dfbZZys3N7fS1yqPESNG6PTTT9ejjz5ao69TXf7880899dRTWrlyZY1cf+nSpUpKStLdd9/t9pyZM2dq2rRp9sfp6ekaPny4Xn311RrpEwCg5oX4ugMAgLpt7969ev/99xUWFqbw8HCFhoY6nZOSkqKpU6cqLy9P4eHhCg4OdnktwzBUWFiowsJCTZ06Ve3bt1dhYaHmz5+v3377Tf/73//0wQcf6Nxzz9WTTz7pMVydf/75euyxxxyORUVFSZLq1atX5vuKjIx0+OfJPvvsM0lSUlKSRo8eXea13LngggvUv39/rV27Vo888oheeuklp3NsI77jxo1T27Zty7zm1q1b9cMPP+jgwYPKzMzU7t279euvvzqN0L/11luaOHFipfteFttnfdZZZ9XYa1SnsLAwSVKrVq0cjr/zzjtKSUkp1zV+/PFHde3a1WVbRESEpL8/F0n6448/dPjwYYWHhysoKMg+WyMtLU2SdYRdst5oSktLU0lJiU6cOKEOHTqofv365X9zAACfIbADAHxq165dLkehT3bVVVdpxYoV2rt3r8LDwxUWFqbCwkLl5eWpXr16iomJkWSdsm4L7GPHjlX79u0VERGhTZs26fbbb9c777yjvn376uuvv1ZmZqbWrVun9u3b28OWZJ1C/vPPP6tp06ZO/TCZTAoODlZISNn/+7QFLFc3F5YsWSJJmjJlSrmu5cmjjz6qtWvX6o033tD999+v5s2b29uys7OVmpqqsLAw3XvvveW63q+//qpx48bZH5tMJhmGoSZNmiglJUWtW7dWixYt1LJlyyr1uyy2myJxcXE1+jrVxfZ9PvVmju3nICEhwe17ycrKUl5ensubO6de5+Sfl1deeUVz5sxxOvfss892eLxw4UKHqfJffvml+vXr5+HdAAD8BYEdAOBTPXr0UFpamsLCwuyj7KWlpbrqqqv0ww8/aPLkyYqKinKazj1//nzdfvvteuSRRzRlyhSPrxEbG6tFixapffv22r59u3r27Kn3339fkrR8+XKHUdHdu3crKSnJHowuv/xyLV++XBs3blT37t1dXn/dunWaNm2azjnnHD333HOSrEHXle3bt2vDhg067bTTdMMNN5TrM7I5cuSIgoOD7bMMgoKCdO655+rOO+/U0KFDHcK6ZA1qZrNZkyZN0umnny5JMpvNslgsKioqUlFRkRo2bOjwnEsvvVT/+c9/1Lx5cyUlJally5aKiopSu3bt9NRTTzn1afr06Vq8eLHbPsfGxmrDhg0Vep+S9eaLJIebKRWVnZ1dLcF01apVSkpKcjpeUFAgs9msiIgI+/c7JCREhmGouLhYZrPZPmNk5syZuvnmm11e/4YbbtDChQs93rxx1TZ27FhdeumlCgsLU0hIiK699loVFRXpgw8+kGQdab/xxht1/fXX64477lBJSYmOHz+uTp06VfgzAAD4BoEdAOBTUVFR6tChgywWizIzM5WQkKA777xTP/zwgx544AGnaek2e/fulSR169at3K/14IMP2oPgySPfxcXFCg0NdQjZQUHWMi/R0dEO/3QlLy9P69atcwq/rrz++uuSrGGvS5cuLs8xm80qKipSTEyMduzYYT/epUsX7dmzx+Vznn32WbevOXfuXM2dO9dlW0FBgX30VrJ+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tm117bXXavny5erbt69WrFihvn37avXq1Xr66acVGRmpSZMm6Yknniiz/8HBwW7rN0jSqFGj1LNnT0VGRiokJEQmk0lffPGFFixYoKCgIFksFl1wwQUaN26cDMNQUVGR8vLyXN7kAgD4JwI7ACBg/P7775Kse3N/+OGHatCggfr376/Zs2dr4MCBGjFihEMleJvJkyerqKhIU6dOdQjVe/bs0VtvvaXw8HBNnDhRM2fO1OrVq3XFFVfo22+/VXh4eLnWTEdFRTkVG/PkxIkTuvLKK/Xjjz8qNDRUBQUFGjBggD7//HM1bty43Nepbg899JAOHz6sa665ptyj57Y1/iNGjLDfTLF57rnnyqy2v3XrVg0ePFh5eXm64YYbNH78eJfnde3aVS+++KJuueUWLVq0SAUFBXr99dfdVtX3lgcffFD5+fm6+uqr1a1bN0nWm0lXXnmlvvrqK5122mn6+uuvddVVV8lisejpp5+23ww61eeff66LL7643K89aNAgh8fHjx/Xo48+qtDQUH333XcaNWqUvvvuO/3rX//SVVddVfk3CQDwHQMAAD8SHx9vdOjQwW374cOHjXbt2hmSjNmzZxuZmZlGWFiYERERYbzxxhtO569cudKQZERFRRmHDx92aBsyZIghyZg6daphGIZRXFxs9OnTx5BkTJw40eXrBwcHG82bNy/zfRQUFBiSjIsvvtjh+O+//2506tTJkGScccYZRnp6ujFixAhDkpGQkGCsXLmyzGvPnTvXkGS8//779mN9+/Y1GjZs6HBeVFSUMWTIEPvjNWvWGJKMmTNnurxuSUmJ8dBDDxknTpxwOC7J6Nu3r8vnTJkyxZBkfPnll05tkoxmzZq5fR8ff/yxERMTY0gyLr30UqO4uNjtuTYzZswwJBmSjBYtWhjffvut23NPnDhhP7cqXwcPHnR5/c8++8wICgoyIiMjjYyMDKfX/t///me8/vrrRnh4uCHJmDx5ssNnc/7559sfWywWIzo62jj77LON/Px8p9datWqVIcmYMGGCy74cOnTI6Nu3ryHJePjhhw3DMIzvv//eCA8PN8LDw4333nvP7ecEAPBfvp9LBgCo8woKCmQYhvbs2aMjR444rZu2+f333zVw4ED98ssvGjRokO655x41a9ZMGzZsUPPmzTV27FhNmDDBXiDuyJEjuv766yVZtzI7eXT9qaee0sqVK9WkSRN7UbPQ0FAtXLhQ9erV0/PPP28v0nbixAnt3btXH330kcxms8c14Da2PtiK1hUXF2v27Nnq1KmTtm3bpp49e+qHH35Q+/bttXjxYt18883Kzs7WkCFD1Lt3b7377rvKzc2t5CdaOSEhIZo5c6ZDZXHbtmSGm5Hy48ePu71e27ZtXe43fujQId14440aPny48vPzdeWVV+rjjz92+30/2b///W8999xzCgoK0u7du3XBBRdo+PDh2r59u9O5ts8+ODhYbdu2rfCXbU25q4KD27dv1+jRo2WxWDR9+nS1aNHCoX3v3r167LHHdNNNN6moqEgPPvig0773OTk59n/fsWOHjh07pqCgIEVHRzu9nrt1+4WFhXr22WeVnJysdevWaerUqZo+fbok63KRd999V2azWaNGjdJdd93l9Z8pAEAV+fqOAQAA999/v8OI5tixYx3a8/LyjCeeeMKIjo42JBlXX321UVhY6HDO0aNHjf79+xuSjP79+xtHjhwxDMMwli1bZjRu3Nj4448/7Oe+8847RlBQkGEymYwVK1Y49WfOnDlGXFycsWzZMsMwDGPr1q0O/bvyyivLfE85OTmGJKN3797Giy++aDRt2tSQZJhMJmPy5MlGUVGR03MWLlxonHbaafbXueSSS4zi4mKjtLTUaNy4sdGiRQujdevWRuPGjQ1JRtOmTY22bdsabdu2NSIjI43g4GD747Zt2xomk8mIioqyP27WrJkhyWjUqJHRqlUro3nz5kajRo2MPXv2uH0fubm5hiSjV69eLtsLCwuN/Px8o7S0tMzPxDCso9KxsbH2z+Lf//63YbFYyvXck33xxRfGGWecYf+sFixY4HSO7Xtw6syD8mrevLkhyenzKSgosM+SOP/88x3e+59//mlcd911RkhIiH3WhKufscTEREOSMXLkSOOBBx4wOnfubEgyXnjhBZd9WbZsmSHJGDdunGEYhrF+/Xpj5MiRRv369e0/C0uWLHH53K+++sr+c9WgQQPjjjvucPr9AQD4JwI7AMDnNm3aZERGRhpt2rQxxo0bZxw6dMjedvjwYaN169aGJCM6OtqYN2+e2+sUFBQYl156qSHJeOmll+zHjx496nBeZmamkZKSYkyfPt3ldUpKSowdO3Y4HOvatavRpUsX44EHHrDfDPBk3759hiSjc+fORkZGhtG5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8dr1Zbi6Z1V5OTk5OnjwoI4fP67IyEitWLFCc+fO1dChQ+0V3wsLC2UYhiIiIhQbG6vbbrtNt912m1q2bKkmTZpo2LBhuu2229SjRw9J1mBvM2/ePI0ZM0bZ2dnq37+/y33RbdPdy7tO/VQFBQW64YYbZDab3W75ZgvghmG4/erbt6+ksreNq4js7GxNnjxZ7du3V7169RQXF6e+fftq6dKlLs+3WCyaP3++evTooejoaHuNgenTpys/P9/lczZt2qThw4erSZMmCgsLU/PmzTVy5Ej7sgVXr/Hyyy+rR48eqlevnurXr69//OMfWr16dXW9bQAAANQxgzoman5KVyXEOQ58JcRFBPyWbhIj7DXjxAmpkiHQbx07Jv3/fuTV4e6779bChQudjt911132fw8LC9PRo0ed9mh/7rnntHLlSqWmpjpMdz95vXl4eLgWLlyomJgYvfjii8rMzHTbl8qOat92223asWOHGjZsqDvuuEPTp093OsfWp0WLFrm9jm0Evjzr5csjIyNDvXr10l9//aV69eqpefPmys/P19dff62vv/5a7777rkaPHu3wnAkTJuill16SZK0PEBkZqd9++02PPPKIVq5cqf/9738O/fvmm280YMAAFRcXq379+mrVqpX++usvvf/++1q+fLm+/vprh1kNxcXFuvLKK7Vy5UpJUtOmTXXixAmtWbNGa9as0UMPPaSZM2dWy/sHAABA3TKoY6IGJidoQ0aODuQXqnGMdRp8II+s2xDY4RNXXHGF2rRpo8jISIWGhmrq1KmKjY3VAw88oPz8fD3wwAPq3r2705pwSfbicp06dSrzdZ5//nlddNFFGjFihFNbYaG1WuTJI/MVkZycLEl69dVXXU57P5mrwnY15aGHHtJff/2l/v376+OPP1ZsbKwk66yDCRMm6LHHHnMI7EeOHNHLL7+s4OBgffnll7rwwgslSQcPHlSvXr20ceNGrVu3ThdffLH9Oc8884yKi4t1++2367nnnlNISIgsFosmT56sZ599Vs8//7zefvtt+/lTp07VypUrdcYZZ+jdd9/VhRdeKMMw9NZbb2ncuHF69NFHdfbZZ9uL9gEAAAAVERxkCtit2zwhsNeEevWsI9K1STVO15asgf2KK66wP37kkUcUHx+vO+64wz59vU+fPi6fe+zYMQUHB6tJkyZlvo7JZHII67bt3SRr9XlJ9kArWaeul9d9992nzp0765JLLrGPTrtj247OlX/+85/6/vvvy/26Zbnqqqs0cOBA9e3b1+G9XXXVVZowYYLT3vaRkZEKCgpSVFSUevXqZT9+2mmnacWKFfrrr7/Uvn17h+fYpu/369fPPvIeFBSkhx9+WJdffrkaNGhgPzc3N1cvvviiJOmNN96w3xAwmUy6/vrrlZmZqYcfflizZs0isAMAAAAnIbDXBJOpWqeP1zXbtm1TSEiIPdidKjc3V6eddprLrdpcSU1NVWZmpm699VaHivB//PGHJMct1lxVjPfkkksuKdd5paWlbtsqcpOgPIYPHy7JekPiiy++0I4dO7Rx40b7jZBT+xIREaHrrrtOb775poYMGaKUlBR17NhR7du3t3+d6uabb9bixYt15513avfu3erevbs6duyo0047Tf369XM4d/369SouLlaDBg00cOBAp2uNHDlSDz/8sLZu3aqjR4+qfv361fNBAAAAAAGOwA6/c++99+qee+6xPz410O7du1dJSUlOz3MXfOfNm6cVK1YoODjYYYu1rVu3SpLOOuss+zFbYLdd6+QR+apw1d+akpGRoUmTJmnVqlUym80KDw9X+/btlZKSorlz57p8zssvv6zk5GS99957uvnmm1VcXKywsDBddNFFeuihh3TBBRc4nH/RRRdp7dq1eu655zR79mzl5ORIktq2batbbrlFd955p4KDgyVJhw8fliQ1a9bM5WuffDwnJ4fADgAAAPw/Ajv80smj5yfvwX7gwAHl5eWpVatWTs9xNTq+Z88effrpp4qKitKwYcO0Z88edejQQeHh4frqq69kMpnUoUMHlZaW6pJLLtHZZ5/t8JqeRsYr4v3333fbNm3aNKWnp1fL6xQUFGjw4MHauXOn7r33Xt14441q3bq1PTy7C+xhYWGaMmWKpkyZotLSUu3cuVOpqamaMWOGBgwYoA0bNjjVDOjfv7/69+8vScrKytL69ev1xBNP6J577tGhQ4f0+OOPS5IaNrSuJdq3b5/L1z55ucDJsx0AAACAuo7ADr9nKw4nSV9++aWkvwu+ncxVYJ8zZ47MZrMmTpyoxo0ba8aMGZoxY4Z++ukn7dq1S506dVJ8fLwOHjzosPWb7TULCgqq5T2curf8yTzt415R//vf/7Rz5061adNGc+bMcWhzt05+1apV+vDDDzVgwACNGjVKISEh6tChg/1GxtSpU/XOO+/YA3tubq4mT56syMhIPf/885KkxMREXXnllTr//POVkJCgN954wx7YzzvvPIWFhSknJ0dr1qxxmhb/3nvvSbIWEWR0HQAAAPgb+7DD7yUkJOiMM86QJH344YeSpHPPPdfe3r59e40YMcKpCN3evXv1xhtvKDY2VlOmTHFomz9/viTp0ksv1eDBg9WtWzft37/f3n7bbbdpwYIFOvPMM6vlPZhMJrdf69atq5bXkP4upJedna09e/ZIslbVf/fddzVs2DCXzykoKNDrr7+uBx98UL/99pv9+PHjx/XVV19JclwaEBUVpY8++kgvvPCC3nzzTYe2Tz75xOn8+vXra/z48ZKksWPH6ttvv7W3LVy4ULNmzZIk3X///ZV92wAAAECtxAg7/N7vv/8uSdq+fbs+/PBDNWjQQP3799fs2bM1cOBAjRgxwuW2bZMnT1ZRUZGmTp3qMNV6z549euuttxQeHq6JEydq5syZWr16ta644gp9++23Cg8P14ABA6r1PdhGm1155ZVXlJGR4fH5EydOdFjXf6q3335bgwcP1sUXX6wmTZror7/+Utu2bdWiRQv9+eefys/PV+fOnXX06FGVlpbqr7/+st/guOyyy3T++efru+++U5s2bdSsWTNFR0drz549OnHihKKiojR27Fj7a4WEhOixxx7T7bffrhtvvFF33nmnmjZtqpycHPv2dpMmTXLo35w5c/TLL79o9erVuvDCC3X66afrxIkTOnLkiCTrtm+jRo3y/CECAAAAdY1Rh+Xm5hqSjNzc3HI/p6CgwEhPTzcKCgpqsGd1T3x8vNGhQwe37YcPHzbatWtnSDJmz55tZGZmGmFhYUZERITxxhtvOJ2/cuVKQ5IRFRVlHD582KFtyJAhhiRj6tSphmEYRnFxsdGnTx9DkjFx4kSXrx8cHGw0b97cbf/mz59vSDLmzJnjcLxly5ZGWb9mffv2dXtO8+bNDUllfn388cf25+zatcsYM2aM0bRpUyM8PNxo27at8fDDDxv5+fnGOeecY0gyZs2a5fA6J06cMB5//HGjW7duRlRUlBEWFmYkJSUZN998s/HLL7+47NuqVauMIUOGGI0bNzZCQkKM0047zbjooouM999/3+X5paWlxrx584xu3boZkZGRRmxsrHHxxRcbn376qcfP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AJSPbSenU+tN2XZySk3L8lHPEOj4yz3ADOqYqPkpXZUQ5zjtPSEuImC3dDt48KAkaevWrerSpYteffVVPfrooyotLdW4ceOciqm5qnBuNptlNpudjhcXF+u7777TtGnT1L17dzVt2lQ33XST0tPTNW3aNL377rvq3r27Pv74Y4WFhTk9//TTT9cLL7wgi8WiMWPGOAVvm6SkJN1yyy16/fXX7cH/vPPOU3BwsO655x517dpVpaWlMpvNeuihh/Tvf/9bzZs3V0REhG688UZ9+OGHFf3YVFBQoA8++EBt2rTR2WefXeHnAwAAoOrK2slJsu7kZLa4OgPwjCnxAWhQx0QNTE6oNetjNm7cKElq0KCBPvroI/3444967bXX1KhRI/se4yfr37+/U0AtKipScXGx/fH8+fP13//+Vz/88IMKCgokSQkJCbrpppv0j3/8Q5s3b9bs2bPVtm1brVq1ymGaeE6Otcq+bSR61KhRWrx4sZYvX6677rrL5X7nRUVFWrx4sR5++GHt3btXkyZN0ty5c2WxWLR48WKFhIRo586dGjdunL777ju1bdtWa9eu1ddff62UlBT985//tAd5dyPu+/btkySFh4dLkt58800dPXrUaUr9ypUrHYrM2WRlWe/slmdJAQAAAMqnIjs59WrZ0HsdQ61AYA9QwUGmWvELv3fvXm3dulWSde11/fr11bt3bxmGoZkzZyo2NtbpOS+88ILTseLiYofAvmfPHn311VeqX7++rrvuOo0ZM0a9e/eWyWTShx9+qNmzZ6tZs2Zas2aNGjVqpE2bNumDDz7QoUOH9Mknn0iSGjdubL/ec889p9WrV+unn35Sfn6+YmJidOLECa1Zs0apqan673//q5ycHHXo0EFr167VxRdfLMka+s8//3w9+eSTGjNmjEpLSzVq1Ci9/PLLio2N1TXXXKP8/HxNmDBBM2fO1HvvvaclS5aoS5cu9tf+4IMP9MYbb9j3YbctGXjooYcUGRmpCRMmSPp7qcAHH3ygDz74wO1nfuLEifJ9cwAAAFCmuraTE7yLwA6fatasmZYuXarPP/9cl19+uSRp1apVeu211zRu3LhyXyc6Oto+ki5Zt06zTX+PiopyOHf48OEaN26c7r77bjVr1kyS1KZNG/3nP/+xX2PcuHEO2721aNFCq1atUp8+fRzWn8+bN0+fffaZevXq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",
      "text/plain": [
       "<Figure size 1200x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x3= X[:, 1]\n",
    "f3 = model.predict(X).flatten()\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12, 8))\n",
    "ax.plot(x3, f3, 'r', label='预测值Lasso')\n",
    "ax.scatter(data['人口'], data['收益'], label='训练数据')\n",
    "ax.legend(loc=2, fontsize=18)\n",
    "ax.set_xlabel('人口', fontsize=18)\n",
    "ax.set_ylabel('收益', rotation=0, fontsize=18)\n",
    "ax.set_title('预测收益和人口规模', fontsize=18)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 调参"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入所需的库和模块\n",
    "from sklearn.model_selection import cross_val_score\n",
    "# 定义一组不同的alpha值\n",
    "alphas = np.logspace(-3, 2, 50)\n",
    "# 初始化一个空列表，用于存储测试分数\n",
    "test_scores = []\n",
    "# 遍历每个alpha值\n",
    "for alpha in alphas:\n",
    "    # 创建一个Ridge回归模型，设置alpha值\n",
    "    clf = Ridge(alpha)    \n",
    "    # 使用交叉验证计算负均方误差的平方根，并取平均值\n",
    "    test_score = np.sqrt(-cross_val_score(clf, X, y, cv=5, scoring='neg_mean_squared_error'))    \n",
    "    # 将平均测试分数添加到列表中\n",
    "    test_scores.append(np.mean(test_score))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAGvCAYAAACekkVGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABElklEQVR4nO3deVxU9f7H8fcgu7KIuIOCCC4o7kuLpaZmlpampVm2oZV1K73Z9qvr0u1at0Vtz8rUcikss7RFK5cs9wX3FVCUVEBgEGSd8/uDmhu5MQjMwuv5eMzjcec7Z/mcE8687/d8z/eYDMMwBAAA4GDc7F0AAADA+RBSAACAQyKkAAAAh0RIAQAADomQAgAAHBIhBQAAOCRCCgAAcEiEFAAA4JAIKQAAwCERUgAHMmjQIDVr1uyCnyclJclkMikpKcmm7ZZ3PUe1dOlStWnTRt7e3rryyiu1Y8cOSdInn3wik8mk+Pj4Ust/+OGHMplM2rt3b5m2bzKZzvtau3ZthR8LgAsjpAAOoqioSKtWrVJiYqIOHz5s73Ic1tq1azV48GDdeOON+vbbb1WvXj31799fubm56tOnjyRp1apVpdZZvXq1QkJC1KpVqzLvZ/z48dq0aVOpV/v27SvwSABcCiEFcBDr169Xdna2PD09tXz5cnuX47CeeeYZ9evXTy+//LJ69+6t2bNnKyMjQ3PmzFHDhg3Vpk2b84aUvn372rSf0NBQde7cudSrVq1aFXgkAC6FkAI4iBUrVqhZs2a68cYbtWLFCnuX45BSU1P166+/6rbbbrO2BQYGKjIyUrt27ZIk9evXT2vWrNGfz05NSEhQcnKyzSEFgP0RUgAHsWLFCvXq1Uu9evXSypUrVVxcXOZ1J02apDZt2ujZZ59VYGCgmjRpohdffFEWi6XUctnZ2Ro1apT8/f0VEhKiOXPmlPp82rRpatasmXx9fdW+fXv9+OOPZa5h1apVMplMSklJsbZlZWXJ09NTS5cutbbNnj1bLVq0kI+Pj1q1aqVFixaVeR+7du2SYRhq2bJlqfYPP/xQo0ePliT17dtXp0+f1s6dOyWV9KKYTCbrpaCKEhYWptmzZ2vt2rXq1auX2rRpU+rzSZMmqWfPnsrMzNSDDz6oBg0aaPXq1dbPDcPQK6+8otDQUPn4+Kh///46ePBgqW307NlTkyZN0u7duzVw4EAFBgZW6DEAjo6QAjiArKwsbdy4UT179rT+sG3cuNGmbezZs0c///yzPv/8cz366KOaNGmS3nrrrVLL3HXXXTKZTFq8eLF69OihBx54QGlpaZKkefPm6YknntC4ceO0fPlyXXnllRo6dKiys7PLtP9rrrlGDRs21LJly6xtP/zwg2rVqqXrr79ekrR161bdd999Gjx4sH744QfdfPPNuuOOO5ScnFymfaSmpkqSgoKCSrV37drVOl7kmmuukZeXl/WSz6pVq9S+fXvVrVu3TPv407hx40oNmv17MJKk3377Tbfccou6dOmiJ5988pzPCwoK1Lt3b6WkpOi5555T8+bNrZ9NnjxZzz//vB5//HEtWbJEubm5uuaaa6zH+KfDhw+rV69eatKkif7973/bdAyA0zMA2N3ixYsNSUZycrJhsViM4OBgY/Lkyecsl5iYaEgyEhMTS7VPnDjRcHNzK9U+atQoo3nz5qXWGzhwoPXzU6dOGZKMtWvXGoZhGGvWrDEWLVpk/Xzjxo2GJGPDhg1lPo5HH33UGDRokPX9XXfdZdx3333W919++aUhydi/f79hGIZRUFBgfPPNN0ZqamqZtj937lxDknH48OGLLte7d29j8ODBhmEYRtOmTY0nn3yyzMdgGIYhyXjiiSeMbdu2WV979+4ttUzTpk0NT0/PC56fiRMnGpKMxx577JzPcnJyDB8fH+P555+3tp0+fdoIDAw0Jk2aZG279tprDUnG4sWLbaofcBX0pAAO4M8xKKGhoXJzc1NaWprN41IaN26ssLAw6/suXbooKSlJRUVF1rZHHnnE+r//7FkoLCyUJPXo0UNeXl4aPXq0WrdurSuvvFKSlJubW+Yabr/9dv3000/Kz8+XxWLRd999p+HDh1s/79OnjyIjI3XNNddo1KhR+vDDD9WtWzcFBweXaft/Dlw9c+ZMqfaxY8fqX//6l/V93759tWbNGiUmJurIkSPq169fmY/hT40bN1b79u2tr/P1pNx///3q2rXrBbcRHBysF1988Zz23bt36+zZs+rdu7e1rXbt2urYsaM2bdpUatkbbrhBt9xyi831A66AkAI4gBUrVmjkyJHatm2btm3bpokTJ1rv9ikr44+Bon+yWCwymUxyc/vfP/OIiIgLrv/EE09oxIgRCgwM1AsvvKBjx47ZfBxXXHGF6tSpo59//lnr16+XyWQq9UPs5+en+Ph4vf/++6pfv75ee+01tWzZUkeOHCnT9iMjIyWVDIb9q9WrV+vkyZPW93379lV6erreeust+fj46Oqrr7b5WMriYgFFkqKjo1WzZs1z2v/+3+pin11qH4ArI6QAdnbkyBEdPHhQAwcOtP6/9mHDhqmoqEgrV64s83aOHz+uQ4cOWd9v2LBBzZo1KxVSatSoccH1P/roI40fP16vvPKKbr31VmVkZNh8LCaTSbfddpuWLl2qpUuXaujQoaX2+eWXX2rhwoW6+eab9corr2j79u06c+aMvvzyyzJtPzo6WiEhIfrqq6+sbadOndKBAwfUqVMna1vHjh0VHByst956y9pD5Eiio6Pl4+NT6r9vZmamtm7dqi5dutixMsCxuNu7AKC6+/OyTo8ePaxtrVu3VnBwsFasWKFBgwaVaTs1atTQiBEj9OKLL2r79u367LPP9Oabb5a5juDgYC1fvlzXXXed9u/fr0mTJklSqctFZTF8+HANGTJEfn5+evvtt0t9dvbsWeuA1KioKP3yyy8qKCi46Cy7f2UymTR16lTdddddatSokXr27KkXXnhBwcHBuv3220std9111+mzzz4r16UeSUpOTtbmzZtLtdWvX1+hoaHl2t5f1axZU08++aRefvllBQYGKjo6Wv/5z3/k7e2thx9++LK3D7gKQgpgZytWrFB4eLgaNWpkbTOZTLr66qttmtStRYsWGjhwoG6//XbVqFFDTz/9tB544IEyrz9nzhw98sgj6tevn5o2baqXXnpJ48eP19q1a226fbdTp07y9PRURkZGqeAlSSNHjlRKSor+85//KDk5WfXq1dOLL76om2++uczbv/POOyVJU6ZM0Wuvvabu3bvrp59+UkBAQKnl+vbtq88++6zc86O8/vrrev3110u1PfbYY5o+fXq5tvd3EydOlK+vr1577TWlpaXp2muv1Zo1a2y+CwlwZSbjYhdHATiFSZMmadGiRdYJzQDAFTAmBQAAOCR6UgAAgEOiJwUAADgkQgoAAHBIhBQAAOCQCCkAAMAhOfU8KRaLRSkpKfLz85PJZLJ3OQAAoAwMw1B2drYaNWpUalbsv3PqkJKSklIhsz8CAICql5ycrJCQkAt+7tQhxc/PT1LJQfr7+9u5GgAAUBZms1mhoaHW3/ELceqQ8uclHn9/f0IKAABO5lJDNRg4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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(alphas, test_scores)\n",
    "plt.title(\"Alpha vs CV Error\");\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 最小二乘法(LSM)：\n",
    "\n",
    "最小二乘法的需要求解最优参数$w^{*}$：\n",
    "\n",
    "已知：目标函数\n",
    "\n",
    "$J\\left( w  \\right)=\\frac{1}{2m}\\sum\\limits_{i=1}^{m}{{{\\left( {h}\\left( {x^{(i)}} \\right)-{y^{(i)}} \\right)}^{2}}}$\n",
    "\n",
    "其中：${h}\\left( x \\right)={w^{T}}X={w_{0}}{x_{0}}+{w_{1}}{x_{1}}+{w_{2}}{x_{2}}+...+{w_{n}}{x_{n}}$\n",
    "\n",
    "将向量表达形式转为矩阵表达形式，则有$J(w )=\\frac{1}{2}{{\\left( Xw -y\\right)}^{2}}$ ，其中$X$为$m$行$n+1$列的矩阵（$m$为样本个数，$n$为特征个数），$w$为$n+1$行1列的矩阵(包含了$w_0$)，$y$为$m$行1列的矩阵，则可以求得最优参数$w^{*} ={{\\left( {X^{T}}X \\right)}^{-1}}{X^{T}}y$ \n",
    "\n",
    "梯度下降与最小二乘法的比较：\n",
    "\n",
    "梯度下降：需要选择学习率$\\alpha$，需要多次迭代，当特征数量$n$大时也能较好适用，适用于各种类型的模型\t\n",
    "\n",
    "最小二乘法：不需要选择学习率$\\alpha$，一次计算得出，需要计算${{\\left( {{X}^{T}}X \\right)}^{-1}}$，如果特征数量$n$较大则运算代价大，因为矩阵逆的计算时间复杂度为$O(n^3)$，通常来说当$n$小于10000 时还是可以接受的，只适用于线性模型，不适合逻辑回归模型等其他模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "def LSM(X, y):\n",
    "    # 计算矩阵X的转置与X相乘，再求逆矩阵，最后将结果与X的转置相乘，再与向量y相乘，得到权重w\n",
    "    w = np.linalg.inv(X.T@X)@X.T@y#X.T@X等价于X.T.dot(X)\n",
    "    return w"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-3.89578088],\n",
       "       [ 1.19303364]])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "final_w2=LSM(X, y)#感觉和批量梯度下降的theta的值有点差距\n",
    "final_w2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以看到梯度下降得到的结果是：\n",
    "\n",
    "array([[-3.78806857],\n",
    "  \n",
    "[ 1.18221277]])\n",
    "       \n",
    "       与最小二乘法的结果非常接近。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## 参考\n",
    "[1] Andrew Ng. Machine Learning[EB/OL]. StanfordUniversity,2014.https://www.coursera.org/course/ml\n",
    "\n",
    "[2] 李航. 统计学习方法[M]. 北京: 清华大学出版社,2019."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
